【MySQL】MySQL數據庫主主備份

序:mysql

  因爲公司內部服務器使用的是普通PC機,全部發生宕機的狀況比較多。尤爲是發生過幾回災難後整機須要從新安裝系統,致使此係統上的MySQL數據沒法使用。因此再通過這次問題後搭建了MySQL主主備份。sql

 

0x01:環境數據庫

  環境:MySQL(5.7)服務器

  系統:Windows 10(192.168.1.9,如下簡稱9)、Window Server 2012(192.168.1.126,如下簡稱126)ide

  庫名:test_sync測試

 

0x02:主從同步spa

  先配置主從熱備。以126爲主機,9爲備機。日誌

  首先須要將126的數據同步到9備機中,而後配置log進行數據的熱備。code

  一、將126同步的數據庫加鎖,防止同步數據期間發生新的變動orm

>mysql -h192.168.1.126 -uroot -proot >use test_sync; >flush tables with read lock;

  二、經過mysqldump導出數據

mysqldump -uroot -proot test_sync >test_sync.sql

  三、解鎖數據庫

>unlock tables;

  四、將期初數據導入9備機

>use test_sync;
>source test_sync.sql

  五、修改126 my.ini文件,配置主從同步  

#開啓二進制日誌
log-bin=mysql-bin
#設置主機編號
server-id=1
#不一樣步的數據庫
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
#須要同步的數據庫
binlog-do-db=test_sync

  六、配置9 my.ini文件,配置主從同步

log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql

replicate-do-db=test_sync

log-slave-updates=YES

relay-log=relay-log

  保存後重啓MySQL服務,查看126日記記錄。


>SHOW MASTER STATUS\G

  

  六、在主服務器中建立用於同步數據的帳號

>grant replication slave on *.* to 'repluser'@'192.168.1.9' identified by 'repluse';

  七、備機配置主從同步

>change master to
    master_host='192.168.1.126',
    master_user='repluser',
    master_password='repluser',
    master_log_file='mysql-bin.000003',
    master_log_pos=1654;

  配置後重啓服務,查看同步的狀態。

>show slave status\G

  

  若是Slave_IO_Running、Slave_SQL_Running均爲Yes的話則配置成功,能夠進行數據同步測試了。

  

 0x03:主主同步

  主主同步與主從同步配置大體相同,只是將上述的主機變爲備機,備機變爲主機。

  一、在9上建立同步的帳號  

>grant replication slave on *.* to 'repluser'@'192.168.1.126' identified by 'repluse';

  二、修改126配置文件

replicate-do-db=test_sync relay-log=relay-log
log-slave-updates=YES

  三、查看9備機的二進制日誌文件

show master status\G

  四、開啓同步

>change master to master_host='192.168.1.126', master_user='repluser', master_password='repluser', master_log_file='mysql-bin.000003', master_log_pos=1654;

  重啓MySQL服務便可。下圖中127.0.0.1就是9號機器。

  

0x04:跳過異常

  因爲同步過程當中出現異常Slave將自動中斷,則能夠選擇跳過指定錯誤。

    

STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
相關文章
相關標籤/搜索