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的起點

  

注意:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM