摘要:本教程向您展示如何在同一台服务器上复制 MySQL 数据库,以及如何从一台服务器复制到另一台服务器。
在同一服务器上复制 MySQL 数据库
要复制 MySQL 数据库,您需要执行以下步骤:
- 首先,使用
CREATE DATABASE
语句创建一个新数据库。 - 其次,使用
mysqldump
工具导出要从中复制的数据库的所有数据库对象和数据。 - 第三,将 SQL 转储文件导入到新数据库中。
为了演示,我们将classicmodels
数据库复制到classicmodels_backup
数据库。
步骤1 。创建classmodels_backup
数据库:
首先,登录MySQL数据库服务器:
>mysql -u root -p
Enter password: **********
Code language: SQL (Structured Query Language) (sql)
然后,使用CREATE DATABASE
语句,如下所示:
> CREATE DATABASE classicmodels_backup;
Code language: SQL (Structured Query Language) (sql)
三、使用SHOW DATABASES
命令验证:
> SHOW DATABASES
Code language: SQL (Structured Query Language) (sql)
MySQL 数据库服务器返回以下输出:
+----------------------+
| Database |
+----------------------+
| classicmodels |
| classicmodels_backup |
| information_schema |
| mysql |
| performance_schema |
| sys |
+----------------------+
6 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
如您所见,我们已经成功创建了classicmodels_backup
数据库。
步骤2 。使用mysqldump
工具将数据库对象和数据转储到 SQL 文件中。
假设您要将classicmodels
数据库的数据库对象和数据转储到位于D:\db
文件夹的 SQL 文件中,命令如下:
>mysqldump -u root -p classicmodels > d:\db\classicmodels.sql
Enter password: **********
Code language: SQL (Structured Query Language) (sql)
基本上,此命令指示mysqldump
使用root用户帐户和密码登录 MySQL 服务器,并将classicmodels
数据库的数据库对象和数据导出到d:\db\classicmodels.sql
。请注意,运算符 ( >
) 表示导出。
步骤3 。将d:\db\classicmodels.sql
文件导入classicmodels_backup
数据库。
>mysql -u root -p classicmodels_backup < d:\db\classicmodels.sql
Enter password: **********
Code language: SQL (Structured Query Language) (sql)
请注意,运算符 ( <
) 表示导入。
要验证导入,您可以使用SHOW TABLES
命令执行快速检查。
> SHOW TABLES FROM classicmodels_backup;
Code language: SQL (Structured Query Language) (sql)
它返回以下输出:
+--------------------------------+
| Tables_in_classicmodels_backup |
+--------------------------------+
| customers |
| employees |
| offices |
| orderdetails |
| orders |
| payments |
| productlines |
| products |
+--------------------------------+
8 rows in set (0.01 sec)
Code language: SQL (Structured Query Language) (sql)
如您所见,我们已成功将所有对象和数据从classicmodels
数据库复制到classicmodels_backup
数据库。
将 MySQL 数据库从一台服务器复制到另一台服务器
要将 MySQL 数据库从一台服务器复制到另一台服务器,请使用以下步骤:
- 将源服务器上的数据库导出到 SQL 转储文件。
- 将 SQL 转储文件复制到目标服务器
- 将SQL转储文件导入到目标服务器
让我们看一下如何将classicmodels
数据库从一台服务器复制到另一台服务器。
首先,将classicmodels
数据库导出到db.sql
文件。
>mysqldump -u root -p --databases classicmodels > d:\db\db.sql
Enter password: **********
Code language: SQL (Structured Query Language) (sql)
请注意, --database
选项允许mysqldump
在 SQL 转储文件中包含CREATE DATABASE
和USE
语句。这些语句将在目标服务器中创建classicmodels
数据库,并使新数据库作为加载数据的默认数据库。
简而言之,当我们使用--database
选项时,以下语句将包含在 SQL 转储文件的开头。
CREATE DATABASE `classicmodels`.
USE `classicmodels`;
Code language: SQL (Structured Query Language) (sql)
第三,将db.sql
文件导入到数据库服务器,假设 db.sql 文件已复制到 c:\tmp\ 文件夹。
>mysql -u root -p classicmodels < c:\tmp\db.sql
Code language: SQL (Structured Query Language) (sql)
在本教程中,您逐步学习了如何在同一台服务器上复制 MySQL 数据库以及如何将数据库从一台服务器复制到另一台服务器。