1. 程式人生 > >【MySQL】MySQL資料庫主主備份

【MySQL】MySQL資料庫主主備份

序:

  由於公司內部伺服器使用的是普通PC機,所有發生宕機的情況比較多。尤其是發生過幾次災難後整機需要重新安裝系統,導致此係統上的MySQL資料無法使用。所以再經過此次問題後搭建了MySQL主主備份。

 

0x01:環境

  環境:MySQL(5.7)

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

  庫名:test_sync

 

0x02:主從同步

  先配置主從熱備。以126為主機,9為備機。

  首先需要將126的資料同步到9備機中,然後配置log進行資料的熱備。

  1、將126同步的資料庫加鎖,防止同步資料期間發生新的變更

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

  2、通過mysqldump匯出資料

mysqldump -uroot -proot test_sync >test_sync.sql

  3、解鎖資料庫

>unlock tables;

  4、將期初資料匯入9備機

>use test_sync;
>source test_sync.sql

  5、修改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

  6、配置126 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

  

  6、在主伺服器中建立用於同步資料的賬號

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

  7、備機配置主從同步

>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:主主同步

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

  1、在9上建立同步的賬號  

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

  2、修改126配置檔案

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

  3、檢視9備機的二進位制日誌檔案

show master status\G

  4、開啟同步

>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號機器。