首页 > 数据库技术 > 详细

Mysqldump 的 的 6 大使用场景的导出命令

时间:2021-04-23 16:49:28      阅读:31      评论:0      收藏:0      [点我收藏+]

Mysqldump 选项解析

技术分享图片

场景描述

1.  导出 db1、db2 两个数据库的所有数据。
mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 db2 >db12.sql
2.  导出 db1 库的 t1 和 t2 表。
mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 --tables t1 t2 >t1_t2.sql
3.  条件导出,导出 db1 表 t1 中 id=1 的数据。
mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 --tables t1 --where=‘id=1‘>t1_id.sql
4.  导出 db1 下所有表结构,而不导出数据。
mysqldump -uroot -p -P8635 -h192.168.0.199 --no-data --set-gtid-purged=OFF --single-transaction --order-by-primary -n --flush-logs -q --databases db1 >db1_table.sql
5.  除 db1 下的表和数据外,其他对象全部导出。
mysqldump -uroot -p -h192.168.0.199 -P8635 --set-gtid-purged=OFF -F -n -t -d -E -R db1> others.sql

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

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

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

Mysqldump 的 的 6 大使用场景的导出命令

原文:https://www.cnblogs.com/sanduzxcvbnm/p/14692767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!