資源描述:
《MySQL5.5實(shí)現(xiàn)雙向同步復(fù)制機(jī)制的實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MySQL支持單向、異步復(fù)制,復(fù)制過程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器(Master),而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器(Slave),利用該特性實(shí)現(xiàn)讀寫分離,是很多大型網(wǎng)站常用的數(shù)據(jù)庫架構(gòu)。MySQL的replication的配置相對于Oracle來說,要簡單的多。本文演示了在同一臺windows機(jī)器中配置單向異步復(fù)制的過程。這里的Replication是異步復(fù)制。MySQL的同步復(fù)制是MySQLCluster中的一個(gè)特性。要啟用復(fù)制特性,MySQL必須使用二進(jìn)制日志。關(guān)于二進(jìn)制日志的特性,請參考官方手冊(5.0,5.1,6.0)。本例
2、中MySQL的版本:mysql>selectversion();+————————-+
3、version()
4、+————————-+
5、5.0.37-community-nt-log
6、+————————-+1rowinset(0.00sec)主庫配置文件my.iniport=3306datadir=”D:/ProgramFiles/MySQL/MySQLServer5.0/Data/”server-id=1log-bin=mysql-bin.log從庫配置文件my2.iniport=3307datadir=”D:/ProgramFile
7、s/MySQL/MySQLServer5.0/Data2/”server-id=2#啟用從庫日志,這樣可以進(jìn)行鏈?zhǔn)綇?fù)制log-slave-updates#從庫是否只讀,0表示可讀寫,1表示只讀read-only=1#只復(fù)制某個(gè)表replicate-do-table=tablename#只復(fù)制某些表(可用匹配符)replicate-wild-do-table=tablename%#只復(fù)制某個(gè)庫replicate-do-db=dbname#只復(fù)制某些庫replicte-wild-do-db=dbname%#不復(fù)制某個(gè)表replicate
8、-ignore-table=tablename#不復(fù)制某些表replicate-wild-ignore-table=tablename%#不復(fù)制某個(gè)庫replicate-ignore-db=dbname#復(fù)制完的sql語句是否立即從中繼日志中清除,1表示立即清除relay-log-purge=1#從服務(wù)器主機(jī),用于showslavehosts生成從庫清單report-host=hostname啟動主庫mysqld-nt–defaults-file=my.ini連接到主庫中,創(chuàng)建復(fù)制用戶D:>mysql-uroot-ppasswor
9、d-P3306WelcometotheMySQLmonitor.Commandsendwith;org.YourMySQLconnectionidis3Serverversion:5.0.37-community-nt-logMySQLCommunityEdition(GPL)mysql>grantreplicationslaveon*.*to‘rep’@'localhost’identifiedby‘rep’;QueryOK,0rowsaffected(0.00sec)鎖住主庫的table,以便備份數(shù)據(jù)文件到從庫進(jìn)行初始化mys
10、ql>flushtableswithreadlock;QueryOK,0rowsaffected(0.00sec)顯示主庫狀態(tài),注意記下當(dāng)前二進(jìn)制日志文件名和positionmysql>showmasterstatus;+——————+———-+————–+——————+
11、File
12、Position
13、Binlog_Do_DB
14、Binlog_Ignore_DB
15、+——————+———-+————–+——————+
16、mysql-bin.000002
17、228
18、
19、
20、+——————+———-+————–+——————+1rowinset(0.
21、00sec)將D:/ProgramFiles/MySQL/MySQLServer5.0/Data/下的內(nèi)容打包復(fù)制到D:/ProgramFiles/MySQL/MySQLServer5.0/Data2/下,執(zhí)行從庫的初始化。當(dāng)然,初始化也可以使用mysqldump來完成。另外開啟一個(gè)cmd,啟動從庫mysqld-nt–defaults-file=my2.ini連接到從庫進(jìn)行配置D:>mysql-uroot-ppassword-P3307WelcometotheMySQLmonitor.Commandsendwith;org.Yo
22、urMySQLconnectionidis1Serverversion:5.0.37-community-nt-logMySQLCommunityEdition(GPL)Type‘help;’or‘h’forhelp.Type‘c