因為需要做MySql同步備份的工作

順手就紀錄下來了

首先需要準備兩台伺服器,而且備有兩個IP

第一台為Master(主要的):10.10.0.1

第二台為Slave(備援的):10.10.0.2

在Master上(10.10.0.1):

首先把 mysql.ini 找出來,接著在[mysqld]底下加上這些

log=C:\mysql                        >>>>LOG檔的存放位置
server-id = 1                        >>>>Master要設置為1,slave為2
log-bin                                 >>>>代表要讓MySql產生日誌
binlog-do-db=remysql           >>>>選擇要備援的資料庫
slave-skip-errors=all             >>>>跳過錯誤,繼續執行複製

接著重新啟動MySql

再來就是打開命令提是字元來操作(我本身是已經使用mysql cmd來操作,沒有安裝的也可以使用Windows內的cmd來操作,都是一樣的)

1  

Step 1:

建立一個帳號,並賦予他權限(這是讓Slave登入用的)

GRANT replication slave ON *.* TO 'Slave的帳號'@'Slave的IP' IDENTIFIED BY 'Slave的密碼' ;

我的習慣在這裡會再重新啟動MySql,如果有安裝phpmyadmin的話也可以用來看看帳號有沒有被建立

Step2:

確認Master是不是有正常運作,且記下LOG檔名的position待會備用

show master status; 

2  

 

再來就是到Slave上(10.10.0.2)做設定:

一樣先把my.ini打開找到[mysqld]在底下加上這些(基本上都跟剛剛一樣,只是id要變)

log=C:\mysql\data
server-id=2
log-bin
replicate-do-db=remysql
slave-skip-errors=all

接著重新啟動MySql

Step 3:

打開cmd,利用指令來操作

建立一個帳號,並賦予他權限(這次是Master登入用的)

GRANT replication slave ON *.* TO 'Master的帳號'@'Master的IP' IDENTIFIED BY 'Master的密碼' ;

一樣會再重新啟動MySql,一樣可以從phpmyadmin來看看帳號有沒有被建立

Step 4:

先停止slave動作

Stop slave;

Step 5:

CHANGE MASTER TO

MASTER_HOST='Master的IP',

MASTER_USER='Master的帳號',

MASTER_PASSWORD='Master的密碼',

MASTER_LOG_FILE='Master的LOG檔名',

MASTER_LOG_POS=Master的position;  (此例為434,輸入434即可)

Step6:

最後再

start slave;

這時候我們就可以檢查slave的連線狀態了

3  

如圖紅框處

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

這兩行都是 Yes就成功了

 

如果覺得對你有幫助的話. 請幫小弟按個讚吧~

arrow
arrow
    創作者介紹
    創作者 newaurora 的頭像
    newaurora

    史丹利愛碎念

    newaurora 發表在 痞客邦 留言(0) 人氣()