📅  最后修改于: 2020-11-17 02:06:49             🧑  作者: Mango
数据库是用于存储可由用户访问和管理的记录的有组织的集合的应用程序。它将数据保存到表,行,列和索引中,以快速查找相关信息。
MySQL复制或克隆数据库是一项功能,允许我们创建现有数据库的副本,包括表结构,索引,约束,默认值等。将原始数据库的副本复制到新数据库中非常有用当我们的数据库意外丢失或失败时。制作数据库副本的最常见用途是用于数据备份。当计划对原始数据库的结构进行重大更改时,它也很有用。
在MySQL中,克隆原始数据库的过程分为三个步骤:首先,将原始数据库记录转储(复制)到一个临时文件中,该临时文件包含用于将数据重新插入到新数据库中的SQL命令。其次,需要创建一个新的数据库。最后,处理SQL文件,并将数据复制到新数据库中。
我们需要按照以下步骤将数据库复制到另一个数据库:
为了进行演示,我们将使用以下步骤将testdb数据库复制到testdb_copy数据库:
如果我们在安装过程中设置了密码,请打开MySQL控制台并写下密码。现在,我们准备使用以下命令创建一个testdb的重复数据库:
mysql> CREATE DATABASE testdb_copy;
接下来,使用SHOW DATABASES语句进行验证:
mysql> SHOW DATABASES;
此命令将返回服务器中所有可用的数据库,在红色矩形框中可以看到新创建的数据库:
现在,打开DOS或终端窗口以在命令行上访问MySQL服务器。例如,如果我们将MySQL安装在C文件夹中,则复制以下文件夹并将其粘贴到DOS命令中。然后,按Enter键。
C:\Users\javatpoint> CD C:\Program Files\MySQL\MySQL Server 8.0\bin
在下一步中,我们需要使用mysqldump工具将数据库对象和数据复制到SQL文件中。假设我们想将testdb的数据库对象和数据转储(复制)到位于D:\ Database_backup文件夹的SQL文件中。为此,请执行以下语句:
mysqldump -u root -p testdb > D:\Database_backup\testdb.sql
Enter password: **********
上面的语句指示mysqldump工具使用用户名和密码登录到MySQL数据库服务器,然后将testdb数据库的数据库对象和数据导出到D:\ Database_backup \ testdb.sql。请注意,用于将数据库从一个位置导出到另一位置的运算符(>)。
下一步,我们需要将D:\ Database_backup \ testdb.sql文件导入到testdb_copy数据库中。为此,请执行以下语句:
mysql -u root -p testdb_copy < D:\Database_backup\testdb.sql
Enter password: **********
请注意,用于将数据库从一个位置导入到另一个位置的运算符(<)。
最后,我们可以通过使用MySQL命令行工具中的SHOW TABLES命令来验证以上操作是否成功:
mysql> SHOW TABLES;
在此输出中,我们可以看到从testdb数据库到testdb_copy数据库的所有对象和数据都已成功复制。