程序员社区

MySQL系列教程 --- 12、MySQL复制数据库

数据库是一种应用程序,用于存储用户可以访问和管理的有组织的记录集合。它将数据保存到表、行、列和索引中,以便快速查找相关信息。

MySQL 复制或克隆数据库是一项功能,它允许我们创建现有数据库的副本,包括表结构、索引、约束、默认值等。 将原始数据库的副本复制到新数据库中非常有用当我们的数据库意外丢失或失败时。制作数据库副本的最常见用途是用于数据备份。在计划对原始数据库结构进行重大更改时,它也很有用。

在MySQL 中,克隆原始数据库是一个三步过程:首先,原始数据库记录被转储(复制)到一个临时文件中,该文件保存用于将数据重新插入新数据库的 SQL 命令。其次,需要创建一个新的数据库。最后处理SQL文件,将数据复制到新的数据库中。

我们需要按照以下步骤将一个数据库复制到另一个数据库:

  1. 首先,使用CREATE DATABASE语句创建一个新数据库。
  2. 其次,将数据存储到SQL 文件中。我们可以给这个文件起任何名字,但它必须以.sql扩展名结尾。
  3. 第三,使用mysqldump工具导出所有数据库对象及其数据进行复制,然后将此文件导入到新数据库中。

为了演示,我们将使用以下步骤将testdb数据库复制到testdb_copy数据库:

如果我们在安装过程中设置过,打开 MySQL 控制台并记下密码。现在我们准备使用以下命令创建 testdb 的重复数据库:

mysql> CREATE DATABASE testdb_copy;  

接下来,使用 SHOW DATABASES 语句进行验证:

mysql> SHOW DATABASES;  

此命令将返回服务器中所有可用的数据库,我们可以在红色矩形框中看到新创建的数据库:

file

现在,打开 DOS 或终端窗口以在命令行上访问 MySQL 服务器。例如,如果我们在C 文件夹中安装了 MySQL,则复制以下文件夹并将其粘贴到我们的 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: **********  

需要注意的是,运算符 (<) 用于将数据库从一个位置导入到另一个位置。

file

最后,我们可以通过MySQL命令行工具中的SHOW TABLES命令来验证上述操作是否成功:

mysql> SHOW TABLES;  

file

在此输出中,我们可以看到从 testdb 数据库到 testdb_copy 数据库的所有对象和数据都已成功复制。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MySQL系列教程 --- 12、MySQL复制数据库

一个分享Java & Python知识的社区