时间:2021-07-01 10:21:17 帮助过:20人阅读
【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