当前位置:Gxlcms > 数据库问题 > (4.12)mysql备份还原——mysql逻辑备份之mysqldump

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

时间:2021-07-01 10:21:17 帮助过:20人阅读

.1】mysqldump客户端读取       读取my.cnf下的 [client] 以及 [mysqldump]  
【4.2.2】基本形式
      mysqldump -uroot -p‘123456‘ -h192.168.1.105 -P3306
      -u --user
      -p --password
      -h --host
      -P --port
      --protocol=tcp,socket,momory
      --max-allowed-packet
      --net-buffer-length

【4.2】备份内容的常用参数

#可以备份
#所有的库、几个库、一个库、一个表、几个表、一个表的内容、存储过程、函数、触发器、调度事件

-A --all -databases
-B --databases  #-B test test1备份test库也test1库
-y --all-tablespaces #备份所有表空间

-n --no-create-db #不导出数据库创建语句
-t --no-create-info #不到处表结构创建语句
-d --no-data #不导出数据,只导出表结构

-R --routines #不导出存储过程和函数,默认不导出
--triggers #导出触发器,默认导出
--skip-triggers #不导出触发器
-E --events #导出调度事件,默认不导出

--ignore-table #不导出某个库的某个表,或者不导出几个表test.test101
-w --where=‘‘ #导出满足条件的内容数据

【4.3】备份与实务和锁相关的选项

1】--single-transaction 
#可以得到一致性的导出结果。只针对Innodb,导出过程中不允许运行表的DDL。因为实务持有表的metadata lock的共享锁,而DDL会申请元数据库的排它锁(X锁),所以会阻塞。
#--single-transaction还会关掉你默认的--lock-tables选项(即不加锁),因为mysqldump默认会打开一个lock-table锁住所有的表。那么只能加--master-data才能加锁。

【2】--lock-tables
#默认打开的,在这个锁表时导一个锁一个,导完解锁。

【3】--lock-all-tables
#会把所有的表都给锁了,慢慢导,导完解锁。【1】【2】【3】互斥。

【4】--flush-logs
#导出数据时,刷新二进制日志,达到一致性导出。

【5】--flush-privileges
#导出权限语句到备份文件

【6】--master-data
#有3个值(0,1,2)
    (0):默认是0,不写入binlog日志记录
    (1):在dump出来的文件中有这么个语句。change master to ...pos 等记录binlog文件及终点。
    (2):#change master to ...pos 等记录binlog文件及终点。(注释掉)

【4.4】综合使用一下

  mysqldump -uroot -p --single-transaction --master-data=2 --fulsh-privileges --routines

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

标签:4.4   ada   综合   tin   mysql   场景   events   info   ack   

人气教程排行