备份数据库

在本教程中,您将学习如何使用mysqldump工具备份MySQL数据库。

MySQL GUI工具(如phpMyAdmin,SQLyog等)通常为备份MySQL数据库提供了方便的功能。 但是,如果您的数据库很大,则备份过程可能非常慢,因为备份文件需要通过网络传输到客户端PC。因此,备份过程增加了MySQL数据库服务器的锁定和可用时间。

MySQL提供了非常有用的工具,用于在服务器上本地备份或转储MySQL数据库。 备份文件存储在服务器中的文件系统中,因此您只需在需要时下载即可。

备份MySQL数据库的工具是mysqldump。它位于MySQL安装文件夹的根/bin文件夹中。如本教程安装的位置为:D:\software\mysql-5.7.18-winx64\bin\mysqldump.exe

mysqldump是由MySQL提供的程序,可用于转储数据库以备数据库或将数据库传输到另一个数据库服务器。

转储文件包含一组用于创建数据库对象的SQL语句。 此外,mysqldump可用于生成CSV,分隔符或XML文件。 在本教程中,我们将仅关注如何使用mysqldump工具备份MySQL数据库。

在本教程中,我们将仅关注如何使用mysqldump工具备份MySQL数据库。

如何备份MySQL数据库

要备份MySQL数据库,数据库首先必须存在于数据库服务器中,并且您也可以访问该服务器。 如果没有远程桌面,可以使用SSHTelnet登录到远程服务器。备份MySQL数据库的命令如下:

mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

上述命令的参数如下:

  • [username]:有效的MySQL用户名。

  • [password]:用户的有效密码。 请注意,-p和密码之间没有空格。

  • [database_name]: 要备份的数据库名称

  • [dump_file.sql]: 要生成的转储文件。

通过执行上述命令,所有数据库结构和数据将导出到一个[dump_file.sql]转储文件中。 例如,要备份示例数据库yiibaidb,可使用以下命令:

mysqldump -u root –p123456  yiibaidb > D:\worksp\bakup\yiibaidb001.sql

执行上面语句,如下所示 -

C:\Users\Administrator> mysqldump -u root -p123456  yiibaidb > D:\worksp\bakup\yiibaidb001.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

C:\Users\Administrator>

执行后,将创建一个文件:D:\worksp\bakup\yiibaidb001.sql

如何仅备份MySQL数据库结构

如果只想备份数据库结构而不需要备份数据,那么只需要添加一个选项-no-data来告诉mysqldump只需要导出数据库结构,如下:

mysqldump -u [username] –p[password] –no-data [database_name] > [dump_file.sql]

例如,仅使用结构来备份示例数据库,可以使用以下命令:

C:\Users\Administrator> mysqldump -u root –p123456  -no-data yiibaidb > D:\worksp\bakup\backup002.sql

如何仅备份MySQL数据库数据

有一种情况,您希望在分段和开发系统中刷新数据,因此这些系统中的数据与生产系统相同。

在这种情况下,只需要从生产系统导出数据,并将其导入到临时或开发系统中。要实现只备份数据,您可以使用mysqldump的选项-no-create-info,如下所示:

mysqldump -u [username] –p[password] –no-create-info [database_name] > [dump_file.sql]

例如,要仅使用数据来备份示例数据库(yiibaidb),请使用以下命令:

mysqldump –u root –p123456 –no-create-info yiibaidb > D:\worksp\bakup\backup003.sql

如何将多个MySQL数据库备份到一个文件中

如果要通过[database_name]中的命令来备份多个数据库,只需单独的数据库名称即可。 如果要备份数据库服务器中的所有数据库,请使用选项-all-database

mysqldump -u [username] –p[password]  [dbname1,dbname2,…] > [all_dbs_dump_file.sql]

mysqldump -u [username] –p[password] –all-database > [all_dbs_dump_file.sql]

在本教程中,您已经学习了如何使用mysqldump工具来备份具有多种选项的MySQL数据库。

Last updated