查看單個文章
舊 2004-03-10, 02:35 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 MYSQL的master/slave資料同步配置

原文:http://bbs.xixidns.com/showthread.php?postid=66763#post66763


我的測試環境.基本上資料是瞬間同步,希望對大家有幫助

redhat 9.0
mysql3.23.57


mysql資料同步備份

A服務器: 192.168.1.2 主服務器master
B服務器: 192.168.1.3 副服務器slave


A服務器設置

#mysql –u root –p
mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY 『1234』;
mysql>\exit

上面是Master開放一個帳戶backup密碼1234給IP:192.168.1.3有檔案處理的權限


mysqladmin –u root –p shutdown

備份Master所有資料庫..通常都用tar命令.
#tar –cvf /tmp/mysql.tar /var/lib/mysql
注意:tar的時候,MySQL是要在stop情況下

在A機器上修改/etc/my.cnf
在[mysqld]區段內加入參數
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=vbb

重啟動A服務器mysql

此時因為有加入log-bin參數,因此開始有index產生了,在/var/lib/mysql目錄下有.index檔案紀錄資料庫的異動log.


B服務器設置

設定/etc/my.cnf
在[mysqld]區段加入

master-host=192.168.1.2
master-user=backup
master-password=1234
master-port=3306
server-id=2
master-connect-retry=60 預設重試間隔60秒
replicate-do-db=vbb 告訴slave只做phpBB資料庫的更新
log-slave-updates


將A上的mysql.tar copy到B上
用ftp傳B的/tmp
9.解壓縮
#cd /var/lib/


狀況測試
1.A跟B網路及服務都正常情況下,由A端變化資料後,到B端瀏覽資料,檢視是否有進行replication?!
2.模擬B當機,或是B不一定需要一直跟A有連接.
將由A端變化資料後,到B端瀏覽資料,B點應該是沒有資料變化的


#tar xvf /tmp/mysql-snapshot.tar
#chown –R mysql:mysql mysql

1重啟動B服務器的mysql

這時在/var/lib/mysql目錄會出現master.info,此檔案紀錄了Master MySQL server的訊息.



狀況測試
1.A跟B網路及服務都正常情況下,由A端變化資料後,到B端瀏覽資料,檢視是否有進行replication?!
2.模擬B當機,或是B不一定需要一直跟A有連接.
將由A端變化資料後,到B端瀏覽資料,B點應該是沒有資料變化的
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
回覆時引用此帖