本教程将向您展示如何在同一台服务器上以及从一台服务器复制MySQL数据库到另一台服务器。
在同一台服务器上复制一个MySQL数据库
要复制一个MySQL数据库,您需要执行以下步骤:
- 首先,使用CREATE DATABASE语句创建一个新的数据库。
- 其次,使用
mysqldump
工具导出要复制的数据库的所有数据库对象和数据。 - 第三,将SQL转储文件导入新的数据库。
作为一个演示,假设要把yiibaidb
数据库复制到yiibaidb_backup
数据库。请参考以下操作步骤 -
步骤1, 创建yiibaidb_backup
数据库:
首先,登录到MySQL数据库服务器:
C:\Users\Administrator> mysql -u root -p
Enter password: **********
然后,使用CREATE DATABASE
语句如下:
CREATE DATABASE yiibaidb_backup;
第三,使用SHOW DATABASES命令验证:
SHOW DATABASES
MySQL数据库服务器返回以下输出:
如您所见,我们已经成功创建了yiibaidb_backup
数据库。
步骤2
使用mysqldump
工具将数据库对象和数据转储到SQL文件中。
假设要将数据库对象和数据库转储到位于D:\database_bak
文件夹的SQL文件中,这里是以下命令:
C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
Enter password: **********
基本上,此命令指示mysqldump
使用具有密码的root
用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb
数据库的数据导出到d:\database_bak\yiibaidb.sql
。 请注意,运算符(>
)表示导出。
步骤2
将d:\database_bak\yiibaidb.sql
文件导入到yiibaidb_backup
数据库。
C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********
请注意,运算符(<
)表示导入。
要验证导入,可以使用SHOW TABLES
命令快速检查。
mysql> SHOW TABLES FROM yiibaidb_backup;
它返回以下输出:
如您所见,我们已在同一台服务器上将所有对象和数据从yiibaidb
数据库复制到yiibaidb_backup
数据库。
将MySQL数据库从服务器复制到另一个服务器
要将MySQL数据库从服务器复制到另一个服务器,请使用以下步骤:
- 将源服务器上的数据库导出到SQL转储文件。
- 将SQL转储文件复制到目标服务器
- 将SQL转储文件导入到目标服务器
我们来看看如何将yiibaidb
数据库从服务器复制到另一个服务器。
首先,将yiibaidb
数据库导出到db.sql
文件。
C:\Users\Administrator> mysqldump -u root -p --databases yiibaidb > d:\database_bak\db.sql
Enter password: **********
请注意,--database
选项允许mysqldump
在SQL转储文件中包含CREATE DATABASE
和USE语句。这些语句将在目标服务器中创建yiibaidb
数据库,并将新数据库作为加载数据的默认数据库。
简而言之,当使用--database
选项时,SQL转储文件的开头包含以下语句。
CREATE DATABASE `yiibaidb2`.
USE `yiibaidb2`;
第三,将db.sql
文件导入到数据库服务器,假定将db.sql
文件复制到d:\database_bak\
文件夹。
C:\Users\Administrator> mysql -u root -p yiibaidb2 < d:\database_bak\db.sql
在本教程中,您已经逐步了解如何在同一服务器上复制MySQL数据库,并将数据库从服务器复制到另一个服务器。