程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> windows下mysql雙向同步備份實現方法

windows下mysql雙向同步備份實現方法

編輯:關於MYSQL數據庫

WindowsMySQL雙向同步備份實現方法,對於網站同步鏡像是很必要的。

第一步:
在A數據庫的my.ini中添加


server-id=1
log-bin=C:\MySQLback #同步事件的日志記錄文件
binlog-do-db=test1 #提供數據同步服務的數據庫
binlog-do-db=test2 #提供數據同步服務的數據庫
binlog-do-db=test3 #提供數據同步服務的數據庫
master-host=192.168.0.102 #主機B的地址
master-user=use102 #主機B提供應B的用戶,該用戶中需要包括數據庫test1 test12test3的權限
master-passWord=usepwd102 #訪問密碼
master-port=3306 #端口,主機的MySQL端口
master-connect-retry=60 #重試間隔60秒
replicate-do-db=test1 #同步的數據庫
replicate-do-db=test2 #同步的數據庫
replicate-do-db=test3 #同步的數據庫


第二步:
在B數據庫的my.ini中添加


server-id=2
log-bin=C:\MySQLback #同步事件的日志記錄文件
binlog-do-db=test1 #提供數據同步服務的數據庫
binlog-do-db=test2 #提供數據同步服務的數據庫
binlog-do-db=test3 #提供數據同步服務的數據庫
master-host=192.168.0.101 #主機B的地址
master-user=use101 #主機A提供給A的用戶,該用戶中需要包括數據庫test1 test12test3的權限
master-passWord=usepwd101 #訪問密碼
master-port=3306 #端口,主機的MySQL端口
master-connect-retry=60 #重試間隔60秒
replicate-do-db=test1 #同步的數據庫
replicate-do-db=test2 #同步的數據庫
replicate-do-db=test3 #同步的數據庫


第三步:
將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';

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved