Windows下MySQL雙向同步備份實現方法,對於網站同步鏡像是很必要的。
第一步:
在A數據庫的my.ini中添加
第二步:
在B數據庫的my.ini中添加
第三步:
將A的MySQL數據的權限給B
MySQL>GRANT FILE ON *.* TO ‘use101'@'192.168.0.102'IDENTIFIEDBY ‘pwd101';
將B的MySQL數據的權限給B操作同上。
第四步:
重啟AB數據庫,後:
B機器:
MySQL>slave start;
查看同步配置情況
A機器:
MySQL>show master status;
B機器:
MySQL>show slave status;
假如A與B數據庫沒有同步,檢查MySQL安裝目錄下的.err文件。
如果slave日志中報錯信息如下:
060807 11:40:17 [ERROR] While trying to obtain the list of slaves from the master 'xxx.xxx.xxx:3306' user 'rep' got the following error: 'Access denIEd. You need the REPLICATION SLAVE privilegefor this Operation'在master上,執行以下語句查看權限:
MySQL>SHOW GRANT FOR 'use101'@'192.168.0.102'\G *************************** 1. row *************************** Grants for [email protected]: GRANT Select REPLICATION SLAVE ON *.* TO 'rep'@'192.168.0.102'IDENTIFIED BY PASSWord 'xxx'已經授予了 REPLICAION SLAVE 權限了,怎麼還會報這個錯呢?
通過查看手冊和源碼,才知道slave需要執行一個語句來更新slave列表:
SHOW SLAVE HOSTS;而執行這個語句則需要 REPLICAITON CLIENT 權限,因此才會報錯。因此,只要重新給 帳號加上 REPLICATION CLIENT 權限就可以了。
grant selectreplication slaveREPLICAION CLIENT on *.* to 'use101'@'192.168.0.102'identifIEd by 'pwd101';