mysql從3.23.15版本以后提供數(shù)據(jù)庫(kù)復(fù)制功能。利用該功能可以實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)同步,主從模式,互相備份模式的功能。數(shù)據(jù)庫(kù)同步復(fù)制功能的設(shè)置都在mysql的設(shè)置文件中體現(xiàn)。mysql的配置文件(一般是my.cnf),在unix環(huán)境下在/etc/mysql/my.cnf 或者在mysql用戶的
mysql從3.23.15版本以后提供數(shù)據(jù)庫(kù)復(fù)制功能。利用該功能可以實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)同步,主從模式,互相備份模式的功能。數(shù)據(jù)庫(kù)同步復(fù)制功能的設(shè)置都在mysql的設(shè)置文件中體現(xiàn)。mysql的配置文件(一般是my.cnf),在unix環(huán)境下在/etc/mysql/my.cnf 或者在mysql用戶的home目錄下的my.cnf。
Window環(huán)境中,如果c:根目錄下有my.cnf文件則取該配置文件。當(dāng)運(yùn)行mysql的winmysqladmin.exe工具時(shí)候,該工具會(huì)把c:根目錄下的my.cnf 命名為mycnf.bak。并在winnt目錄下創(chuàng)建my.ini。mysql服務(wù)器啟動(dòng)時(shí)候會(huì)讀該配置文件。所以可以把my.cnf中的內(nèi)容拷貝到my.ini文件中,用my.ini文件作為mysql服務(wù)器的配置文件。
設(shè)置方法
設(shè)置范例環(huán)境:
操作系統(tǒng):window2000 professional
mysql:4.0.4-beta-max-nt-log
a ip:10.10.10.22
b ip:10.10.10.53
a:設(shè)置
1.增加一個(gè)用戶最為同步的用戶帳號(hào):grant file on *.* to backup@''10.10.10.53'' identified by ‘1234’
2.增加一個(gè)數(shù)據(jù)庫(kù)作為同步數(shù)據(jù)庫(kù):create database backup
b:設(shè)置
1.增加一個(gè)用戶最為同步的用戶帳號(hào):grant file on *.* to backup@''10.10.10.22'' identified by ‘1234’
2.增加一個(gè)數(shù)據(jù)庫(kù)作為同步數(shù)據(jù)庫(kù): create database backup
主從模式:a->b
a為master ,修改a mysql的my.ini文件。在mysqld配置項(xiàng)中加入下面配置:server-id=1log-bin#設(shè)置需要記錄log 可以設(shè)置log-bin=c:mysqlbakmysqllog 設(shè)置日志文件的目錄,#其中mysqllog是日志文件的名稱,mysql將建立不同擴(kuò)展名,文件名為mysqllog的幾個(gè)日志文件。binlog-do-db=backup #指定需要日志的數(shù)據(jù)庫(kù)
重起數(shù)據(jù)庫(kù)服務(wù)
用show master status 命令看日志情況。
b為slave,修改b mysql的my.ini文件。在mysqld配置項(xiàng)中加入下面配置:server-id=2master-host=10.10.10.22master-user=backup #同步用戶帳號(hào)master-password=1234master-port=3306master-connect-retry=60 預(yù)設(shè)重試間隔60秒replicate-do-db=backup 告訴slave只做backup數(shù)據(jù)庫(kù)的更新
重起數(shù)據(jù)庫(kù)
用show slave status看同步配置情況。
注意:由于設(shè)置了slave的配置信息,mysql在數(shù)據(jù)庫(kù)目錄下生成master.info,所以如有要修改相關(guān)slave的配置要先刪除該文件。否則修改的配置不能生效。
雙機(jī)互備模式
如果在a加入slave設(shè)置,在b加入master設(shè)置,則可以做b->a的同步。在a的配置文件中 mysqld 配置項(xiàng)加入以下設(shè)置:
master-host=10.10.10.53master-user=backupmaster-password=1234replicate-do-db=backupmaster-connect-retry=10
在b的配置文件中 mysqld 配置項(xiàng)加入以下設(shè)置:log-bin=c:mysqllogmysqllogbinlog-do-db=backup
注意:當(dāng)有錯(cuò)誤產(chǎn)生時(shí)*.err日志文件。同步的線程退出,當(dāng)糾正錯(cuò)誤后要讓同步機(jī)制進(jìn)行工作,運(yùn)行slave start 。重起ab機(jī)器,則可以實(shí)現(xiàn)雙向的熱備。
測(cè)試:向b批量插入大數(shù)據(jù)量表aa(1872000)條,a數(shù)據(jù)庫(kù)每秒鐘可以更新2500條數(shù)據(jù)。(責(zé)任編輯:銘銘)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com