因為需要做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來操作,都是一樣的)
Step 1:
建立一個帳號,並賦予他權限(這是讓Slave登入用的)
GRANT replication slave ON *.* TO 'Slave的帳號'@'Slave的IP' IDENTIFIED BY 'Slave的密碼' ;
我的習慣在這裡會再重新啟動MySql,如果有安裝phpmyadmin的話也可以用來看看帳號有沒有被建立
Step2:
確認Master是不是有正常運作,且記下LOG檔名的position待會備用
show master status;
再來就是到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的連線狀態了
如圖紅框處
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
這兩行都是 Yes就成功了
如果覺得對你有幫助的話. 請幫小弟按個讚吧~
留言列表