mysql --master-data_mysqldump中master-data和dump-slave的区别

[mysql@db2 ~]$ mysqldump -A --master-data=2 > master2.sql

[mysql@db2 ~]$ mysqldump -A --dump-slave=2 > slave2.sql

[mysql@db2 ~]$ mysqldump -A --master-data=1 > master1.sql

[mysql@db2 ~]$ mysqldump -A --dump-slave=1 > slave1.sql

[mysql@db2 ~]$ diff master2.sql master1.sql

22c22

< -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin2.000001', MASTER_LOG_POS=259;

---

> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin2.000001', MASTER_LOG_POS=335;

845c845

< -- Dump completed on 2012-03-13 18:09:46

---

> -- Dump completed on 2012-03-13 18:10:17

[mysql@db2 ~]$ diff slave2.sql slave1.sql

22c22

< -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=107;

---

> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=107;

845c845

< -- Dump completed on 2012-03-13 18:09:59

---

> -- Dump completed on 2012-03-13 18:10:24

由上可知:

A. =1和=2的区别很明显,只是自动执行和手工执行的区别

B. --master-data用于在master端dump数据,用于建立slave

--dump-slave用户在slave端dump数据,建立新的slave,至少是第2个slave,也就是已经有A-->B,现在从B上导出数据建立A-->C的复制

这个不但可以用于建立slave,还可用于备份中,用于读binlog进行roll forward的起点

注意:

1.已有A->B 架构,想搭建 A->B & A->C,如何使用mysqldump方式备份?

在B库使用dump-slave参数。

2.已有A->B 架构,想搭建 A->B->C,如何使用mysqldump方式备份?

在B库使用master-data参数。

3.--master-data, It turns on --lock-all-tables, unless single-transaction also is specified

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值