MySQL雙主(master-master)補充

環境:

主機名主機IP操作系統MySQL版本
mysqlA172.16.4.235

CentOS 6.5
2.6.32-431.el6.x86_64

mysql-community-server-5.7.5-0.6.m15.el6.x86_64
mysqlB172.16.4.236

CentOS 6.5
2.6.32-431.el6.x86_64

mysql-community-server-5.7.5-0.6.m15.el6.x86_64


    MySQL雙主+半同步架構搭建參考上一篇博文:http://qicheng0211.blog.51cto.com/3958621/1596131

    本文做一點補充:如果mysqlA已經運行了一段時間,要添加一臺新的mysqlB,與mysqlA實現主主複製,就要先備份mysqlA上的數據導入到mysqlB,使數據保持一致;記錄mysqlA上binlog的文件名和Position,在mysqlB上執行change mater;再記錄mysqlB上binlog的文件名和Position,在mysqlA上執行change mater。

    下面有兩種實現方法:

    方法一、

    1)對mysqlA數據庫鎖表操作,不讓數據再進行寫入動作

> flush tables with read lock;

    不要退出連接,另開一個終端執行備份操作。

    2)備份mysqlA的數據庫

mysqldump -uroot -p --single-transaction --opt --events --triggers --routines --flush-logs --master-data=2 --databases db1 db2 > db.sql

    --flush-logs:選項用以生成新的二進制日誌文件。

    --master-data:選項值等於2,備份後的sql文件裏CHANGE MASTER語句被註釋。

    --single-transaction:InnoDB 表在備份時,通常啓用選項 --single-transaction 來保證備份的一致性,實際上它的工作原理是設定本次會話的隔離級別爲:REPEATABLE READ,以確保本次會話(dump)時,不會看到其他會話已經提交了的數據。

    3)看mysqlA數據庫的狀態,記錄File和Position項的值後解鎖。

> show master status;
> unlock tables;

wKiom1SdJUrBA7fOAAJle2urOEM591.jpg

    上圖所示二進制日誌文件爲mysql-bin.000002,位置爲120。

    4)在mysqlB上導入mysqlA的數據

mysql -uroot -p'MNVq_YOg9' < db.sql

    5)生成CHANGE MASTER語句,然後在mysqlB上執行

> STOP SLAVE; 
> CHANGE MASTER TO MASTER_HOST='172.16.4.235',MASTER_USER='repl_user',MASTER_PASSWORD='MNVq_YOg9',MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=120;
> START SLAVE;
> SHOW SLAVE STATUS\G

wKioL1SdKKrCngloAATkjRsqgnM327.jpg

    Slave_IO_Running和Slave_SQL_Running的狀態,如果都爲Yes,從庫mysqlB配置成功。

    6)記錄mysqlB的File和Position項的值,生成CHANGE MASTER語句,然後在mysqlA上執行,啓動mysqlA的slave

    略。


    方法二、

    1)備份A的數據庫(不用鎖表)

mysqldump -uroot -p --single-transaction --opt --events --triggers --routines --flush-logs --master-data=2 --databases db1 db2 > db.sql

    2)使用grep命令查找二進制日誌的名稱以及位置

grep -i "change master" db.sql

wKioL1SdK2ySy6FcAADRLSJaW1Y087.jpg

    上圖所示二進制日誌文件爲mysql-bin.000002,位置爲120。

    然後執行方法一的4)、5)、6)即可。

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章