我的測(cè)試環(huán)境.基本上數(shù)據(jù)是瞬間同步,希望對(duì)大家有幫助
redhat 9.0
mysql3.23.57
mysql數(shù)據(jù)同步備份
A服務(wù)器: 192.168.1.2 主服務(wù)器master
B服務(wù)器: 192.168.1.3 副服務(wù)器slave
A服務(wù)器設(shè)置
#mysql –u root –p
mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’;
mysql>\exit
上面是Master開(kāi)放一個(gè)賬號(hào)backup密碼1234給IP:192.168.1.3有檔案處理的權(quán)限
mysqladmin –u root –p shutdown
備份Master所有數(shù)據(jù)庫(kù)..通常都用tar指令.
#tar –cvf /tmp/mysql.tar /var/lib/mysql
注意:tar的時(shí)候,MySQL是要在stop情況下
在A機(jī)器上修改/etc/my.cnf
在[mysqld]區(qū)段內(nèi)加入?yún)?shù)
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=vbb
重啟A服務(wù)器mysql
此時(shí)因?yàn)橛屑尤雔og-bin參數(shù),因此開(kāi)始有index產(chǎn)生了,在/var/lib/mysql目錄下有.index檔案紀(jì)錄數(shù)據(jù)庫(kù)的異動(dòng)log.
B服務(wù)器設(shè)置
設(shè)定/etc/my.cnf
在[mysqld]區(qū)段加入
master-host=192.168.1.2
master-user=backup
master-password=1234
master-port=3306
server-id=2
master-connect-retry=60 預(yù)設(shè)重試間隔60秒
replicate-do-db=vbb 告訴slave只做vbb數(shù)據(jù)庫(kù)的更新
log-slave-updates
將A上的mysql.tar copy到B上
用ftp傳B的/tmp
9.解壓縮
#cd /var/lib/
狀況測(cè)試
1.A跟B網(wǎng)絡(luò)及服務(wù)都正常情況下,由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),檢視是否有進(jìn)行replication?!
2.模擬B當(dāng)機(jī),或是B不一定需要一直跟A有連接.
將由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),B點(diǎn)應(yīng)該是沒(méi)有數(shù)據(jù)變化的
#tar xvf /tmp/mysql-snapshot.tar
#chown –R mysql:mysql mysql
1重啟B服務(wù)器的mysql
這時(shí)在/var/lib/mysql目錄會(huì)出現(xiàn)master.info,此檔案紀(jì)錄了Master MySQL server的信息.
狀況測(cè)試
1.A跟B網(wǎng)絡(luò)及服務(wù)都正常情況下,由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),檢視是否有進(jìn)行replication?!
2.模擬B當(dāng)機(jī),或是B不一定需要一直跟A有連接.
將由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),B點(diǎn)應(yīng)該是沒(méi)有數(shù)據(jù)變化的