MySQL复制数据库

本教程将向您展示如何在同一台服务器上以及从一台服务器复制MySQL数据库到另一台服务器。

在同一台服务器上复制一个MySQL数据库

要复制一个MySQL数据库,您需要执行以下步骤:

  • 首先,使用CREATE DATABASE语句创建一个新的数据库。
  • 其次,使用mysqldump工具导出要复制的数据库的所有数据库对象和数据。
  • 第三,将SQL转储文件导入新的数据库。

作为一个演示,假设要把zaixiandb数据库复制到zaixiandb_backup数据库。请参考以下操作步骤 -

步骤1, 创建zaixiandb_backup数据库:

首先,登录到MySQL数据库服务器:

C:\Users\Administrator> mysql -u root -p
Enter password: **********

然后,使用CREATE DATABASE语句如下:

CREATE DATABASE zaixiandb_backup;

第三,使用SHOW DATABASES命令验证:

SHOW DATABASES

MySQL数据库服务器返回以下输出:

如您所见,我们已经成功创建了zaixiandb_backup数据库。

步骤2

使用mysqldump工具将数据库对象和数据转储到SQL文件中。

假设要将数据库对象和数据库转储到位于D:\database_bak文件夹的SQL文件中,这里是以下命令:

C:\Users\Administrator> mysqldump -u root -p zaixiandb > d:\database_bak\zaixiandb.sql
Enter password: **********

基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和zaixiandb数据库的数据导出到d:\database_bak\zaixiandb.sql。 请注意,运算符(>)表示导出。

步骤2

d:\database_bak\zaixiandb.sql文件导入到zaixiandb_backup数据库。

C:\Users\Administrator> mysql -u root -p zaixiandb_backup < d:\database_bak\zaixiandb.sql
Enter password: **********

请注意,运算符(<)表示导入。

要验证导入,可以使用SHOW TABLES命令快速检查。

mysql> SHOW TABLES FROM zaixiandb_backup;

它返回以下输出:

如您所见,我们已在同一台服务器上将所有对象和数据从zaixiandb数据库复制到zaixiandb_backup数据库。

将MySQL数据库从服务器复制到另一个服务器

要将MySQL数据库从服务器复制到另一个服务器,请使用以下步骤:

  • 将源服务器上的数据库导出到SQL转储文件。
  • 将SQL转储文件复制到目标服务器
  • 将SQL转储文件导入到目标服务器

我们来看看如何将zaixiandb数据库从服务器复制到另一个服务器。

首先,将zaixiandb数据库导出到db.sql文件。

C:\Users\Administrator> mysqldump -u root -p --databases zaixiandb > d:\database_bak\db.sql
Enter password: **********

请注意,--database选项允许mysqldump在SQL转储文件中包含CREATE DATABASE和USE语句。这些语句将在目标服务器中创建zaixiandb数据库,并将新数据库作为加载数据的默认数据库。

简而言之,当使用--database选项时,SQL转储文件的开头包含以下语句。

CREATE DATABASE `zaixiandb2`.

USE `zaixiandb2`;

第三,将db.sql文件导入到数据库服务器,假定将db.sql文件复制到d:\database_bak\文件夹。

C:\Users\Administrator> mysql -u root -p zaixiandb2 < d:\database_bak\db.sql

在本教程中,您已经逐步了解如何在同一服务器上复制MySQL数据库,并将数据库从服务器复制到另一个服务器。


上一篇: MySQL技巧 下一篇: MySQL存储过程