redhat 9.0
mysql4.1
mysql數(shù)據(jù)同步備份
A服務器: 192.168.0.1 主服務器master
B服務器: 192.168.0.2 副服務器slave
A服務器設置
#mysql
mysql>GRANT REPLICATION SLAVE ON *.* TO backup@192.168.0.2 IDENTIFIED BY ‘backup’;
mysql>\exit
上面是Master開放一個賬號backup密碼backup給IP:192.168.0.2有檔案處理的權限
注意:
在MySQL 4.0.2以前,用 FILE
權限來代替 REPLICATION SLAVE
mysqladmin –u root –p shutdown
備份Master所有數(shù)據(jù)庫..通常都用tar指令.
#tar –cvf /tmp/mysql.tar /usr/local/mysql
注意:tar的時候,MySQL是要在stop情況下
在A機器上修改/etc/my.cnf
在[mysqld]區(qū)段內加入?yún)?shù)
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=vbb
重啟A服務器mysql
此時因為有加入log-bin參數(shù),因此開始有index產生了,在/usr/local/mysql目錄下有.index檔案紀錄數(shù)據(jù)庫的異動log.
B服務器設置
設定/etc/my.cnf
在[mysqld]區(qū)段加入
master-host=192.168.0.1
master-user=backup
master-password=backup
master-port=3306
server-id=2
master-connect-retry=60 預設重試間隔60秒
replicate-do-db=vbb 告訴slave只做vbb數(shù)據(jù)庫的更新
log-slave-updates
將A上的mysql.tar copy到B上
用ftp傳B的/tmp
9.解壓縮
#cd /var/lib/
狀況測試
1.A跟B網(wǎng)絡及服務都正常情況下,由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),檢視是否有進行replication?!
2.模擬B當機,或是B不一定需要一直跟A有連接.
將由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),B點應該是沒有數(shù)據(jù)變化的
#tar xvf /tmp/mysql-snapshot.tar
#chown –R mysql:mysql mysql
1重啟B服務器的mysql
這時在/usr/local/mysql目錄會出現(xiàn)master.info,此檔案紀錄了Master MySQL server的信息.
測試
1.A跟B網(wǎng)絡及服務都正常情況下,由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),檢視是否有進行replication?!
2.模擬B當機,或是B不一定需要一直跟A有連接.
將由A端變化數(shù)據(jù)后,到B端瀏覽數(shù)據(jù),B點應該是沒有數(shù)據(jù)變化的