mysql主主備份在不停機的情況下修改另外一個數據庫服務器
192.168.1.207爲主機A
192.168.1.208爲從機B
需要雙機互備的數據庫是pqss_new
主要功能是AB爲主主備份,但是A已經運行一段時間了,B是最新需要添加的主服務器:操作的主要在步驟是現將A的數據備份到B,然後實現AB的主主互備。
1,編輯A,B的配置,添加下面紅框中的配置(其中B的server-id=2):
2,給A,B機器分別添加備份數據庫的用戶。
A:
B:
3,將A機器上的數據庫pqss_new備份,保存檢查備份數據的MASTER_LOG_FILE and MASTER_LOG_POS.。然後將備份文件壓縮傳遞到B機器上。
備份數據庫:mysqldump --skip-lock-tables --single-transaction--flush-logs --hex-blob --master-data=2 -uroot -p123456 pqss_ceshi >~/dump1.sql
壓縮文件:
傳送文件:
備份數據庫的屬性:
4,此時在A的pqss _new上新建表test1.
5,在B機器上新建數據庫pqss_ceshi,將A機器上備份的數據庫還原到B機器上。
解壓縮文件:
還原數據庫:
6,在B機器上指定數據庫同步A機器上的數據文件和位置(參照第三步的數據)
mysql> change master tomaster_host='192.168.1.207',master_user='repl1',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=106;
7,重啓B機器的mysql,然後啓動slave。
此時可以看到A機器第四步新添加的test1表在B的pqss_new上出現了。接着在A的pqss_new上做其他操作可以看到都同步到了B的pqss_new中,說明A作爲B的主機設置成功。
8,接着設置B是A的主機:指定A機器同步B機器的數據文件和位置,接着重啓A的mysql,啓動A的slave。
(A機器)設計文件和位置:
change master tomaster_host='192.168.1.208',master_user='repl2',master_password='123456',master_log_file='mysql-bin.000010',master_log_pos=106;
9.此時可以看到在B機器上的操作同樣同步到了A機器,說明B作爲A的主機也設置成功。下面分別查看兩個數據庫的master,可以看到Position相同,說明兩個數據庫現在已經保持一致了。
A機器 B機器