文档首页> 云数据库 RDS> 故障排除> RDS for MySQL> 备份恢复> 使用mysqldump导出大表的注意事项
更新时间:2023-01-10 GMT+08:00

使用mysqldump导出大表的注意事项

在使用mysqldump导出数据时,倘若添加–q(--quick) 参数时,select出来的结果将不会存放在缓存中,而是直接导出到标准输出中。如果不添加该参数,则会把select的结果放在本地缓存中,然后再输出给客户端。

  • 如果只是备份小量数据,足以放在空闲内存buffer中的话,禁用-q参数,则导出速度会快一些。
  • 对于大数据集,如果没办法完全储存在内存缓存中时,就会产生swap。对于大数据集的导出,不添加-q参数,不但会消耗主机的内存,也可能会造成数据库主机因无可用内存继而宕机的严重后果。

因此,如果使用mysqldump来备份数据时,建议添加-q参数。

导出示例:

mysqldump -uroot -p -P3306 -h192.168.0.199 --set-gtid-purged=OFF --single-transaction --flush-logs -q test t1>t1.sql