如果想做MySQL資料單向同步的話,可以看另一篇文章:
一.準備環境
Master:
Ip:192.168.211.128
Mysql版本:5.0.77(可以通過命令mysqladmin -uroot -p123 version查看)
Slave:
Ip:192.168.211.131
Mysql版本:5.0.77
二.設定同步
設定master同步
1. 修改my.cnf
vi /etc/my.cnf
新增內容如下:
server-id=1 (mysql標示)
log-bin=mysql-bin(開啟log-bin二進位記錄檔,預設存在/var/lib/mysql下日誌文 件以mysql-bin為開頭)
binlog-do-db =backup(backup為需要同步的資料庫名,如需同步多個資料庫,可以另起行如binlog-do-db =backup1)
# binlog-ignore-db=db_name (不進行同步處理記錄的資料庫,不需要的話注釋掉)
max-binlog-size=104857600(日誌的大小,超出會自動產生一個新的)
master-host=192.168.211.131(同步主機)
master-user=backup(同步處理的使用者)
master-password=123(同步處理的使用者密碼)
master-port=3306
replicate-do-db=backup(同步資料庫)
修改完後儲存退出,並重啟mysql 如:service mysql restart (重啟正常,表示配置沒錯誤)
2. 在作為master的mysql上建立一個賬戶專門用於slave來進行資料同步
mysql>grant file on *.* to backup@'192.168.211.131'identified by '123';
mysql>flush privileges;
Mysql>create database backup;
在slave上測試賬戶backup是否可以訪問mster上的mysql:
#mysql -u backup -p -h 192.168.211.128(輸入密碼123,可以訪問說明設定正確)
設定slave同步
1. 修改my.cnf
vi /etc/my.cnf
新增內容如下:
server-id= 2 (mysql標示,不能出現重複)
log-bin=mysql-bin(開啟log-bin二進位記錄檔,預設存在/var/lib/mysql下日誌文 件以mysql-bin為開頭)
binlog-do-db =backup(backup為需要同步的資料庫名,如需同步多個資料庫,可以另起行如binlog-do-db =backup1)
max-binlog-size=104857600(日誌的大小,超出會自動產生一個新的
master-host=192.168.211.128 (同步Master的ip地址)
master-user=backup (同步所需的帳號)
master-password=123 (同步帳號的密碼)
master-port=3306 (mstart 中mysql的訪問連接埠)
replicate-do-db=backup (所需同步的資料庫名)
#replicate-ignore-db=mysql(不同步mysql庫)
#replicate-do-table=backup.stu (如果只需同步backup資料庫中的stu表)
#replicate-do-table=backup.teacher(如果只需同步backup資料庫中的stu表)
master-connect-retry=60 (主伺服器宕機或串連丟失的情況下,從伺服器線程重新嘗試串連主伺服器之前睡眠的秒數
log-bin=mysql-bin (開啟log-bin二進位記錄檔)
修改完後儲存退出,並重啟mysql 如:service mysql restart (重啟正常,表示配置沒錯誤)
2. 在作為slave的mysql上建立用來同步的賬戶和庫
mysql>grant file on *.* to backup@'192.168.211.128' identified by '123';
mysql>flush privileges;
Mysql>create database backup;