2009年11月12日 星期四

兩個MySQL 同步

要如何同步兩個MySQL中的DB?

環境:
A電腦要同步DB至B電腦
A電腦 master,IP:192.168.50.222
B電腦 Slave,IP:192.168.50.112
OS : Windows XP
DB: MySQL 5.1

Master的部分
1.
在MySQL command line底下,輸入
GRANT REPLICATION SLAVE ON *.* TO backup@192.168.50.112 IDENTIFIED BY '1234';
其中backup是帳號,192.168.50.112是B電腦的IP,1234是密碼

2.
建立"backup"資料庫,並複製到B電腦,路徑在
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data\backup


3.
開啟C:\Program Files\MySQL\MySQL Server 5.1\my.ini
在 [mysqld]後,加入
server-id=1
log-bin # 產生紀錄檔
binlog-do-db=backup #同步的資料庫名稱

4.
重開資料庫,看設定是否成功,在MySQL command line輸入
show master status \G


Slave的部分
1.
開啟C:\Program Files\MySQL\MySQL Server 5.1\my.ini
在 [mysqld]後,加入

server-id=2
master-host=192.168.50.222
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔60秒
replicate-do-db=backup #告訴slave只做backup資料庫的更新

2.
重開資料庫,看設定是否成功,在MySQL command line輸入
show slave status \G

**如果修改my.ini的話,需將
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data\master.info
刪除,之後再重新MySQL,

1 則留言 :

大頭 提到...

小毛真是太強了