MySql數(shù)據(jù)庫同步復(fù)制
該功能可以實現(xiàn)兩個數(shù)據(jù)庫同步,主從模式,互相備份模式的功能。
數(shù)據(jù)庫同步復(fù)制功能的設(shè)置都在mysql的設(shè)置文件中體現(xiàn)。mysql的配置文件(windows下為my.ini,Unix/Linux下為my.cnf)
1、實施環(huán)境:
操作系統(tǒng):2臺linux AS 4[up3]
mysql:mysql-4.1.15.tar.gz
SvrA ip:192.168.1.10
SvrB ip:192.168.1.11
2、配置方法
Demo 1:主從模式[Master->Slave]:A->B
=====step 1:分別在SvrA、SvrB上配置同步DB及Account=====
Step A:SvrA上配置
1.增加一個用戶最為同步的用戶賬號:
GRANT FILE ON *.* TO
backup.user@‘192.168.1.11‘ IDENTIFIED BY ‘rsync.mysql’;
2.增加一個數(shù)據(jù)庫作為同步數(shù)據(jù)庫:
create database backup;
Step B:SvrB上配置
1.增加一個用戶最為同步的用戶賬號:
GRANT FILE ON *.* TO
backup.user@‘192.168.1.10‘ IDENTIFIED BY ‘rsync.mysql’;
2.增加一個數(shù)據(jù)庫作為同步數(shù)據(jù)庫:
create database backup;
====step 2:配置Master、Slave參數(shù)======
主從模式:A->B即 SvrA為master ,SvrB為slave
1、修改SvrA 中mysql的my.cnf文件。在mysqld配置項中加入下面配置:
server-id=1
log-bin
binlog-do-db=backup
注
Log-bin #設(shè)置需要記錄log 可以設(shè)置log-bin=/Data/logs/mysqllog 設(shè)置日志文件的目錄[其中mysqllog是日志文件的名稱,mysql將建立不同擴展名,文件名為mysqllog的幾個日志文件]。
binlog-do-db=backup #指定需要日志的數(shù)據(jù)庫
配置完后重起數(shù)據(jù)庫服務(wù)。
用show master status 命令看日志情況。
2、修改SvrB中 mysql的my.cnf文件。在mysqld配置項中加入下面配置:
server-id=2
master-host=192.168.1.10
master-user=backup.user #同步用戶賬號
master-password=rsync.mysql
master-port=3306
master-connect-retry=10 預(yù)設(shè)重試間隔10秒
replicate-do-db=backup 告訴slave只做backup數(shù)據(jù)庫的更新
配置完后重起數(shù)據(jù)庫
用show slave status看同步配置情況。
注意:由于設(shè)置了slave的配置信息,mysql在數(shù)據(jù)庫目錄下生成master.info
所以如有要修改相關(guān)slave的配置要先刪除該文件。否則修改的配置不能生效。
Demo 2、雙機互備模式。
如果在A加入slave設(shè)置,在B加入master設(shè)置,則可以做B->A的同步。
在A的配置文件中 mysqld 配置項加入以下設(shè)置:
master-host=192.168.1.11
master-user=backup.user
master-password=rsync.mysql
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中 mysqld 配置項加入以下設(shè)置:
log-bin
binlog-do-db=backup
注意:當有錯誤產(chǎn)生時*.err日志文件。同步的線程退出,當糾正錯誤后要讓同步機制進行工作,運行slave start
重起AB機器,則可以實現(xiàn)雙向的熱備。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。