什么是 MySQL 中的 mysqldump

mysqldump 是一个命令行工具,可将 MySQL 数据库导出为纯文本的 .sql 文件。这些文件包含 SQL 语句——如 CREATE TABLEINSERT INTO——可在任何兼容的 MySQL 服务器上重建您的数据库结构和数据。

为什么使用 mysqldump

  • 可移植性: .sql 输出为纯文本,因此可以轻松地在不同操作系统和服务器环境之间迁移。
  • 版本控制: 由于输出基于文本,您可以使用 Git 或任何版本控制系统跟踪模式变更。
  • 灵活性: 您可以根据需要导出整个服务器、单个数据库或仅特定表。

导出数据库的基本 mysqldump 命令

在深入了解更高级的选项之前,先理解核心语法会有所帮助。该命令遵循一个简单的结构:您指定 MySQL 用户,命名要转储的数据库,并告诉终端将输出文件保存到哪里。

mysqldump 导出数据库语法

基本命令如下所示:

mysqldump -u root -p mydb > backup.sql

各组成部分详解:

  • mysqldump——工具本身。
  • -u root——您的 MySQL 用户名。如果不同,请将 root 替换为您的实际用户名。
  • -p——在按 Enter 后提示输入密码。将密码排除在命令本身之外,以避免在终端历史记录中暴露。
  • mydb——要导出的数据库名称。将其替换为您的实际数据库名称。
  • >——shell 重定向操作符。它将命令输出写入文件,而不是打印到屏幕上。
  • backup.sql——输出文件的名称和路径。您可以随意重命名。

如何使用 mysqldump 导出 MySQL 数据库(分步)

按照以下步骤从命令行导出 MySQL 数据库。此过程适用于 Windows、macOS 和 Linux,但打开终端的方式因系统而异。

步骤 1:打开终端或命令提示符

  • Windows:Win + R,输入 cmd,然后按 Enter。
  • macOS:Cmd + Space,输入 Terminal,然后按 Enter。
  • Linux:Ctrl + Alt + T,或在应用程序菜单中搜索 Terminal

windows 命令提示符

步骤 2:导航到 MySQL Bin 目录

如果 mysqldump 未被识别为命令,您的系统可能未将 MySQL 添加到 PATH 中。在这种情况下,请先导航到 MySQL 安装文件夹。

在 Windows 上,默认路径通常为:

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

mysqldump 未被识别为命令前提下步骤 2 导航到 mysql bin 目录

提示:在终端中运行 mysqldump --version。如果返回版本号,则 MySQL 已在 PATH 中,您可以跳过此步骤。

步骤 3:运行导出命令

运行以下命令,将 rootmy_database 替换为您的实际用户名和数据库名称:

mysqldump -u root -p my_database > backup.sql

步骤 3 运行导出命令

您还可以根据需要导出内容修改命令:

目标 命令
仅导出结构 mysqldump -u root -p my_database --no-data > backup.sql
仅导出数据 mysqldump -u root -p my_database --no-create-info > backup.sql
导出多个数据库 mysqldump -u root -p --databases db1 db2 > backup.sql
导出所有数据库 mysqldump -u root -p --all-databases > full_backup.sql
导出特定表 mysqldump -u root -p my_database table1 table2 > backup.sql

步骤 4:输入密码

终端将提示您输入 MySQL 密码。输入密码并按 Enter。

注意:输入时不会显示任何字符——这是正常的。这是命令行工具的标准安全功能。

步骤 5:验证导出

当光标返回空白行时,导出即完成。要确认文件已成功创建:

  1. 在当前文件夹中找到 .sql 文件。
  2. 检查文件大小是否大于 0 KB。
  3. 可选:在文本编辑器(如 Notepad++ 或 VS Code)中打开它,确认 SQL 语句存在。

如何从 mysqldump 文件导入数据库

一旦您使用 mysqldump 导出了数据库,您最终将需要恢复它。请注意,虽然 mysqldump 创建导出文件,但您使用 mysql 客户端——而不是 mysqldump——来导入它。

导入语法

要将 .sql 文件导入数据库,请运行:

mysql -u root -p my_database < backup.sql

rootmy_databasebackup.sql 替换为您的实际用户名、目标数据库名称和文件路径。

与导出命令的关键区别在于操作符的方向。< 符号将 .sql 文件的内容馈送到 mysql 客户端,而 > 将输出写入文件。

  1. 首先创建目标数据库

除非您使用 --all-databases 导出,否则 .sql 文件通常不包含 CREATE DATABASE 语句。您需要在导入前手动创建数据库:

CREATE DATABASE my_new_database;

  1. 匹配字符集

如果您的导出使用了特定字符集(如 UTF-8),请确保目标数据库配置为匹配。不匹配可能导致文字乱码或不可读。

  1. 如果导入失败请检查错误

常见原因包括用户权限不足(Access Denied)或文件大小超过服务器的 max_allowed_packet 限制。如有需要,在 MySQL 配置文件中增加此值。

使用 i2Backup 简化和保护 MySQL 数据库导出

mysqldump 是单次导出和手动备份的可靠工具。但对于需要计划性、自动化和集中管理的数据库保护的团队,手动运行命令无法扩展。这就是像 i2Backup 这样的专用备份解决方案发挥作用的地方。

i2Backup 对 MySQL 保护的关键功能

  • 计划备份和实时备份:无需手动运行 mysqldump,i2Backup 让您配置自动化备份计划(每小时、每天、每周等)。它还持续捕获重做日志和归档日志,实现接近零的 RPO。
  • 多个备份目标:同时将备份保存到本地存储、NAS 或云端,消除单点故障。
  • 安全传输:所有数据使用 AES 或 SM4 加密传输,确保数据库导出在传输过程中受到保护。
  • 集中管理:基于 Web 的控制台让您可以监控备份状态、计划任务和管理多个数据库实例——无需命令行。
  • 广泛的数据库兼容性:除 MySQL 外,i2Backup 还支持 Oracle、SQL Server、IBM DB2、MongoDB 等,使其成为混合数据库环境的统一解决方案。

无论您是保护单个 MySQL 实例还是管理跨多个服务器的备份,i2Backup 都能为您的团队提供一致的、自动化的覆盖,而无需运行 mysqldump 导出的人工开销。

常见问题

问 1:如何导出整个 MySQL 数据库?

运行以下命令,将 rootmy_database 替换为您的实际用户名和数据库名称:

mysqldump -u root -p my_database > backup.sql

要一次性导出服务器上的所有数据库,请改用 --all-databases 标志:

mysqldump -u root -p --all-databases > full_backup.sql

 

问 2:如何使用 mysqldump 备份数据库?

打开终端,如有需要导航到 MySQL bin 目录,然后使用您的用户名、数据库名称和指向输出文件的 > 操作符运行 mysqldump 命令。确保您的 MySQL 用户对目标数据库具有必要的 SELECTLOCK TABLES 权限。

 

问 3:如何从 MySQL 数据库导出特定表?

在命令中,在数据库名称后添加表名:

mysqldump -u root -p my_database my_table > table_backup.sql

要导出多个表,请用空格分隔依次列出。

 

问 4:如何仅导出数据库结构而不含数据?

使用 --no-data 标志导出表定义而不含任何行:

mysqldump -u root -p my_database --no-data > structure_only.sql

这在设置需要相同模式但不需要现有数据的新环境时非常有用。

 

问 5:我可以在 Windows 上使用 mysqldump 吗?

可以。打开命令提示符,运行与 Linux 或 macOS 相同的 mysqldump 命令。如果命令未被识别,请先导航到 MySQL bin 目录(例如 cd "C:\Program Files\MySQL\MySQL Server 8.0\bin")或将 MySQL 添加到系统 PATH 中。

结论

mysqldump 是一个从命令行导出 MySQL 数据库的直接且灵活的工具。无论您是备份单个表、迁移整个服务器,还是仅导出模式,本指南中涵盖的命令和选项应能处理大多数常见场景。

也就是说,备份只有在能成功恢复时才有用。导出后始终验证您的 .sql 文件。对于需要一致性和自动化的生产环境,将 mysqldump 与像 i2Backup 这样的专用解决方案结合使用有助于减少人工开销和人为错误的风险。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1