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

  • 相关阅读:
    【转】Git详解之六 Git工具
    【转】Git详解之五 分布式Git
    【转】Git详解之四 服务器上的Git
    【转】Git详解之三 Git分支
    【转】Git详解之二 Git基础
    【转】Git详解之一 Git起步
    【教】Windows下的Git入门
    <<万物简史>>第三章埃文斯牧师的宇宙
    上班两周
    记录一下
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14692767.html
Copyright © 2011-2022 走看看