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