MySql 配置主從伺服器、配置主主伺服器
阿新 • • 發佈:2018-12-29
1、準備工作:
阿里雲的centos
兩臺伺服器:(mysql版本儘量保持一致,主伺服器的版本不能高於從伺服器)
主伺服器:ip1;
從伺服器:ip2;
待同步的資料庫:slaveDB;
同步主從資料庫資料,保持主從資料一致!
需要注意的是!!!
線上的專案匯出資料的時候,保證主庫上鎖,等slave匯入、slave start之後在解鎖;
slave重啟的時候也一樣,重啟之前,主庫上鎖,重啟完畢,解鎖;
主庫表鎖!
flush tables with read lock
主庫解鎖!
unlock tables
2、配置主伺服器:
2.1、修改mysql配置檔案
vim /etc/my.conf
Server-id = 1 #這是資料庫ID,此ID是唯一的,主庫預設為1,其他從庫以此ID進行遞增,ID值不能重複,否則會同步出錯;
log-bin = mysql-bin #二進位制日誌檔案,此項為必填項,否則不能同步資料;
binlog-do-db = slaveDB #需要同步的資料庫,如果需要同步多個數據庫;
則繼續新增此項。
# binlog-do-db = slaveDB1
# binlog-do-db = slaveDB2
binlog-ignore-db = mysql 不需要同步的資料庫;
2.2、儲存退出!重啟mysql服務,使更改生效!
service mysql restart
校驗結果,如下圖:
2.3、重要!!!
2.3.1、記錄:
mysql-bin.000013(二進位制檔案) 和 940(pos)
create user slaveUser
grant replication slave on *.* to 'slaveUser'@'ip2' identified by 'slaveUserPwd'
3、配置從伺服器:
3.1、修改mysql配置檔案
vim /etc/my.conf
server-id=2 #預設是1改成2
log-bin=mysql-bin #這行本身有
replicate-do -db=slaveDB #需要同步的資料庫
replicate-ignore-db=mysql #不同步系統資料庫
read_only #設只讀許可權
3.2、儲存退出!重啟MySql使更改生效!
service mysql restart
校驗結果
3.3、修改slave引數:
slave stop;
change master to master_host='ip1',master_user='slaveUser',master_password='slavePwd',master_log_file='mysql-bin.000013' ,master_log_pos=940
# 注:master_log_file=上面提到的二進位制檔案;master_log_pos=上面提到的pos
slave start;
校驗結果:
如下圖,若出現兩個 yes ,則配置成功!
可以測試在主庫建立一張表,登入從庫看看是否有更新。
至此主從配置完畢!
配置主主雙向伺服器就簡單了!
4、主主雙向伺服器
4.1、在從伺服器,重複上面2.3的 操作;
4.2,在主伺服器,重複上面3.3的操作即可。
5、常見問題:
5.1、若是slave status 裡面有報錯,手動解決之後,執行如下命令即可!
mysql> slave stop;
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;
mysql> slave start;