zoukankan      html  css  js  c++  java
  • Mysqldump 的 的 6 大使用场景的导出命令

    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 参数。

  • 相关阅读:
    Zero-Copy&sendfile浅析
    Redis数据清除问题
    Redis官方文档》持久化
    GNU C 、ANSI C、标准C、标准c++区别和联系
    有关jQuery valid 验证多个同name属性的input的问题
    jQuery validator 增加多个模板
    archiver error. Connect internal only, until freed. 之解决办法
    链接ftp,把文件或图片上传到ftp指定的文件夹中
    java 数字金额转换中文金额
    java工具类 --千分位方法
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14692767.html
Copyright © 2011-2022 走看看