mysql5.7 centos7主從備份

項目有一個公共類是comm,分別爲不同的客戶指定了不同的庫,且庫在不同的服務器上。有些存儲過程需要直接連comm庫,以實現數據分析任務。早就知道mysql可以主從備份。因此考慮用這種方式,實現在主庫公共數據同步到另一臺數據庫中。以實現能夠將同一存儲過程在不同的服務器都能夠正確執行。

參考 https://www.cnblogs.com/gl-developer/p/6170423.html

首先,配置mysql  vi /etc/my.cnf。注意使用/etc/mysql/目錄時,要配置安全權限 chmod 777 -R /etc/mysql/ 進行處理。

[mysqld]
log-bin=/etc/mysql/mysql-bin #開啓二進制日誌
server-id=255 #設置server-id
binlog-do-db = game  #只同步數據庫
binlog-ignore-db = mysql #不同步的數據庫
sync_binlog=1

登陸mysql的控制檯或者 query查詢器執行

create USER 'repl'@'%' IDENTIFIED BY '123456';# %號可以替換成相對應的允許連接的IP 123456爲密碼 rep1爲賬戶
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
flush privileges;

SHOW MASTER STATUS; #檢查主服務器的狀態,記下相應的參數值

重啓mysql服務器 restart mysqld.service

在從服務器中也要配置相應的參數

log-bin=/etc/mysql/mysql-bin #開啓二進制日誌
server-id=128  #設置server-id,一般是IP地址的末位
log_slave_updates=1

導入以前的數據。使用其它方法將原來主服務器上的數據導入。並在從服務器的查詢分析器中執行下面的代碼 

CHANGE MASTER TO
    MASTER_HOST='116.62.xxx.xxx',
    MASTER_USER='rep1',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-bin.000003',
    MASTER_LOG_POS=73;

開始執行主從複製 

start slave; #在查詢分析器中執行

查看複製的狀態 

show slave status ; #在查詢分析器中執行

標紅色的纔是代表正確執行的。我的剛開始是

Slave_IO_Running:connection 有三個原因導致。我的原因是賬戶不對。其它原因可以百度一下。

經測試,在目標庫的,insert ,delete ,update都可以正確複製。忽略的庫不受影響。

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