使用 Mysqldump 导出 MySQL 数据库

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 使用 mysqldump 导出/备份 MySQL 数据库
  2. 结论
使用 Mysqldump 导出 MySQL 数据库

本教程将教授如何使用 mysqldump 实用程序导出 MySQL 数据库。

我们将看到使用 mysqldump 的语法、它的参数以及使用它的原因。我们还将通过带/不带数据的备份以及导出表和数据库来练习此实用程序。

对于本指南,我们使用 MySQL 版本 8.0.27。你可以从此处获得最新版本(如果有)。

使用 mysqldump 导出/备份 MySQL 数据库

在这个时代,DATA 就是一切。这就是为什么数据库管理员让我们的数据安全且 24/7 可用的原因;有一些必要的和意外的情况,他们必须导出数据(数据丢失或数据故障)。

请记住,备份的方法因不同的数据库平台而异。在这里,我们将了解 MySQL 数据库的命令行实用程序 mysqldump

使用 mysqldump 实用程序的原因

  • 主要原因是在需要时备份数据库。
  • 你可以导出数据库结构(没有数据的数据库)。
  • 它还允许你一次备份单个/许多/所有数据库。
  • mysqldump 还允许你备份特定数据库中的特定表。
  • 它非常容易用于导出有/没有数据的数据库。
  • 它有各种参数,我们可以根据需要调整以完成工作。

使用 mysqldump 实用程序的参数

我们将为本教程中使用的命令使用一些参数。 -u [username]-p [password] 用于提供连接 MySQL 数据库的用户名和密码。建议你稍后在询问时输入密码,而不是在 -p 之后输入密码(参见下面给出的示例)。

然后 [option] 出现在你可以指定你的需求的地方。例如,你希望使用 --no-data 选项进行无数据备份。

之后,需要 [数据库名称]。如果你想从数据库中导出某个表,你可以在 [database name] 之后写 [table name]

接下来,你可以根据需要使用 >(大于)符号导出到文件或使用 <(小于)符号进行恢复。你可以在这里了解 mysqldump 的许多其他参数。

仅备份数据库结构

你可能会发现某些情况下你只想导出数据库结构。然后,你可以使用带有 --no-data 选项的 mysqldump 命令。

以下命令将导出 person 数据库结构。

mysqldump -u root -p --no-data person > E:\Backup\person_database_structure.sql

使用 mysqldump 导出 mysql 数据库 - 仅导出数据库结构

从数据库备份单个/多个表

有时,需要从特定数据库中导出特定表。在这种情况下,mysqldump 允许你从该数据库备份单个或多个表。

你必须在数据库名称后写表名才能导出单个表。数据库名后可以写多个表名,导出多张表。

# export one table named customer from database named person
mysqldump -u root -p person customer > E:\Backup\customer_table_from_person.sql

使用 mysqldump 导出 mysql 数据库 - 从数据库中导出单个表

# export two tables named customer and employee from database named person
mysqldump -u root -p person customer employee > E:\Backup\customer_employee_from_person.sql

使用 mysqldump 导出 mysql 数据库 - 从数据库中导出多个表

备份单个/多个/所有数据库

如果你专注于备份所有数据库而不是只备份一个会怎样?你可以通过 --all-database 选项以下列方式使用 mysqldump

mysqldump -u root -p --all-databases > E:\Backup\all_databases_backup.sql

使用 mysqldump 导出 mysql 数据库 - 导出所有数据库

如果你只想导出一个或多个数据库,可以按以下方式在 --databases 选项后写入数据库名称,并用一个空格分隔。

mysqldump -u root -p --databases person courses > E:\Backup\person_courses_backup.sql

使用 mysqldump 导出 mysql 数据库 - 导出多个数据库

使用以下命令导出一个数据库。

mysqldump -u root -p person > E:\Backup\person_backup.sql

使用 mysqldump 导出 mysql 数据库 - 导出一个数据库

结论

我们详细了解了 mysqldump 命令行实用程序。我们讨论了它的参数以及使用它的原因。我们还学习了如何使用不同的参数导出带有/不带有数据的单个或多个表和数据库。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相关文章 - MySQL Export