zoukankan      html  css  js  c++  java
  • mysqldump

    mysqldump 对于主从复制备份有几个重要的参数:

    -x, --lock-all-tables     锁住所有数据库的所有表,这是通过在整个转储期间使用全局读锁来实现的。会自动关闭选项--single-transaction和--lock-tables。

    -l, --lock-tables           Lock all tables for read.读锁,默认是开启的,可以使用参数--skip-lock-tables 隐藏此功能。

    --single-transaction   转储所有表时创建一个一致性的快照在单一事务中,此功能只支持innodb存储引擎(目前版本来说),启用--single-transaction参数时,为了确保一个有效的转储文件(正确的表内容和日志文件号),不能有其他的连接使用ALTER TABLE, DROP TABLE, RENAME  TABLE,TRUNCATE TABLE语句,一致性快照不会隔离他们。此选项会自动关闭--lock-tables参数。

    --set-gtid-purged[=name]     会在输出文件中加入'SET @@GLOBAL.GTID_PURGED'。值可以是ON, OFF and AUTO,如果此值为ON,但服务器却没有开启参数GTID,则通常会产生错误。如果GTID模式没有开启,AUTO啥也不会做。如果没有提供值,然后将考虑默认(AUTO)值。也就是GTID模式开启的时候,默认是会加入'SET @@GLOBAL.GTID_PURGED'。

    --master-data[=#]     此参数会将此时的二进制文件名和位置号写入输出。如果值为1,将会以CHANGE MASTER命令格式输出;如果值为2,该命令将以注释符号作为前缀。此选项会开启--lock-all-tables,除非同时也指定了--single-transaction。任何情况下,对日志的任何操作都将在转储的精确时刻发生,此选项会自动关闭--lock-tables。

    1、备份命令

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql

    例如: mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sql

    2、备份压缩

    导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz

    例如: mysqldump -h192.168.1.100 -p 3306 -uroot -ppassword --database cmdb | gzip > /data/backup/cmdb.sql.gz

    3、备份同个库多个表

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql

    例如 mysqldump -h192.168.1.100 -p3306 -uroot -ppassword cmdb t1 t2 > /data/backup/cmdb_t1_t2.sql

    4、同时备份多个库

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql

    例如:mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup/mutil_db.sql

    5、备份实例上所有的数据库

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > 文件名.sql  简写-A

    例如:mysqldump -h192.168.1.100 -p3306 -uroot -ppassword --all-databases > /data/backup/all_db.sql

    6、备份数据出带删除数据库或者表的sql备份

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --add-drop-table --add-drop-database 数据库名 > 文件名.sql

    例如:mysqldump -uroot -ppassword --add-drop-table --add-drop-database cmdb > /data/backup/all_db.sql

    7、备份数据库结构,不备份数据

    格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql

    例如:mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql

  • 相关阅读:
    [GIT] warning: LF will be replaced by CRLF问题解决方法
    最近想学的工具
    如何在webstrom中配置eslint和less
    Git常用命令
    windows下nginx安装、配置与使用
    关于 addEventListener 和 handleEvent 方法
    PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toStr
    Git使用详细教程
    9个永恒的UI设计原则
    常见浏览器兼容性问题与解决方案
  • 原文地址:https://www.cnblogs.com/wonchaofan/p/13494132.html
Copyright © 2011-2022 走看看