如何使用 mysqldump 正确导出 MySQL 数据库
一、准备工作
在开始导出前,需确认已安装 MySQL 客户端工具包并具备数据库访问权限。通过以下命令验证安装:
mysql --version
mysqldump --version
确保用户拥有 SELECT、SHOW VIEW、TRIGGER 和 LOCK TABLES 权限,否则导出会失败。建议使用以下格式连接数据库:
mysql -u [用户名] -p
二、基本导出命令
使用标准命令导出整个数据库结构和数据:
mysqldump -u [用户名] -p [数据库名] > backup.sql
- 导出单表:
mysqldump -u root -p mydb mytable > table.sql
- 仅导出表结构:添加
-d
参数 - 仅导出数据:添加
-t
参数
三、高级参数配置
通过附加参数实现精细化导出:
参数 | 功能 |
---|---|
–where=”条件” | 按条件筛选导出数据 |
–ignore-table | 排除指定表 |
–compact | 生成精简格式文件 |
远程服务器导出示例:mysqldump -h 192.168.1.100 -P 3306 -u remote_user -p dbname > remote.sql
四、常见问题与解决方案
- 权限错误:检查用户是否拥有 LOCK TABLES 权限
- 大文件处理:使用
gzip
压缩输出文件 - 版本兼容:添加
--compatible=ansi
参数保证跨版本兼容
通过合理组合 mysqldump 的参数,可实现从简单到复杂的数据库导出需求。建议定期测试备份文件的完整性和可恢复性,关键操作前务必验证用户权限和存储空间。对于超过 100GB 的大型数据库,建议采用物理备份工具如 XtraBackup 。