跳到主要内容
SUN / 笔记
← 全部文章

MySQL:导出数据库与表

mysqldump 可以将 MySQL 数据和表结构导出为 SQL 文件。下面使用占位名称,执行时替换 database_name、table_name 和账号。

导出完整数据库

bash
mysqldump -h localhost -u backup_user -p --result-file=database.sql database_name

-p 后不填写密码,由命令行交互提示输入,避免将密码直接写入命令历史。--result-file 让工具直接写文件,减少不同终端重定向编码行为的影响。

导出单张表

bash
mysqldump -h localhost -u backup_user -p --result-file=table.sql database_name table_name

只导出表结构

整个数据库:

bash
mysqldump -h localhost -u backup_user -p --no-data --result-file=schema.sql database_name

单张表:

bash
mysqldump -h localhost -u backup_user -p --no-data --result-file=table-schema.sql database_name table_name

验证导出结果

  1. 检查命令退出状态,而不是只看输出文件是否存在。
  2. 确认备份账号拥有所需权限,目标目录可写。
  3. 在单独的测试数据库中恢复,核对表结构和记录数量。
  4. 对正在写入的数据库,需要结合存储引擎考虑一致性;InnoDB 可评估 --single-transaction,期间应避免更改表结构。

这些基础命令不替代完整备份策略。例行备份还需明确存储过程、事件、触发器、权限与恢复目标。

参考

本文根据原有 MySQL 导出命令笔记整理,删除了外链截图和明文示例密码。

相关文章

数据库系统原理 →MySQL Shell →云服务器linux下安装MySQL →