本文主要給大家簡(jiǎn)單講講MySQL雙主master-master配置的詳細(xì)方法,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL雙主master-master配置的詳細(xì)方法這篇文章可以給大家?guī)硪恍?shí)際幫助。
創(chuàng)新互聯(lián)主營(yíng)天柱網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開發(fā),天柱h5微信小程序搭建,天柱網(wǎng)站營(yíng)銷推廣歡迎天柱等地區(qū)企業(yè)咨詢環(huán)境:
主機(jī)名 主機(jī)IP 操作系統(tǒng)
mysqlA 172.18.252.221 CentOS 6.5 2.6.32-431.el6.x86_64 mysqlB 172.18.252.222
MySQL版本 mysql-community-server-5.7.5-0.6.m15.el6.x86_64
本文做一點(diǎn)補(bǔ)充說明:如果mysqlA已經(jīng)運(yùn)行了一段時(shí)間,要添加一臺(tái)新的mysqlB, 與mysqlA實(shí)現(xiàn)主主復(fù)制,就要先復(fù)制mysqlA上的數(shù)據(jù)導(dǎo)入到mysqlB, 使數(shù)據(jù)保持一致;記錄mysqlA上binlog的文件名和Position,在mysqlB上執(zhí)行CHANGE MASTER TO ...;再記錄mysqlB上的binlog的文件名和Position,在mysqlA上執(zhí)行CHANGE MASTER.(導(dǎo)入到B的數(shù)據(jù)應(yīng)該是使用mysqlA的全量備份+binlog) 下面有兩種實(shí)現(xiàn)方法: 方法一、 1)對(duì)mysqlA數(shù)據(jù)庫鎖表操作,不讓數(shù)據(jù)再進(jìn)行寫入動(dòng)作 > flush tables with read lock; > 不要退出連接,另開一個(gè)終端執(zhí)行備份操作. 2)備份mysqlA的數(shù)據(jù)庫 mysqldump --uroot -p --single-transaction --opt --events --triggers --routines --flush-logs --master-data=2 --databases db1 db2 >db.sql --flush-logs :選項(xiàng)用以生成新的二進(jìn)制日志文件(滾動(dòng)二進(jìn)制文件使其起始位置完全) --mater-data :選項(xiàng)值等于2 ,備份后的sql文件里CHANGE MASTER語句被注釋。 --single-transaction :InnoDB表在備份時(shí),通常啟用選項(xiàng) --single-transaction來保證備份的一致性,實(shí)際上它的工作原理是設(shè)定本次會(huì)話的隔離級(jí)別為: REPEATABLE READ,以確保本次會(huì)話(mysqldump)時(shí),不會(huì)看到其他會(huì)話提交了的數(shù)據(jù)。 3)看mysqlA數(shù)據(jù)庫的狀態(tài),記錄File和Position項(xiàng)的值后解鎖; show master status; unlock tables; 4)在mysqlB上導(dǎo)入mysqlA的數(shù)據(jù): > mysql -uroot -p 'repl' < db.sql 5)生成CHANGE MASTER 語句,然后在mysqlB上執(zhí)行 > STOP SLAVE; > CHANGE MASTER TO MASTER_HOST='172.18.252.221' , MASTER_USER='repl_user',MASTER_PASSWORD='repl' , MASTER_LOG_FIEL='mysql-bin.000002', MASTER_LOG_POS='120'; > START SLAVE; > SHOW SLAVE STATUS\G Slave_IO_Running和Slave_SQL_Running的狀態(tài),如果都為Yes,從庫mysqlB配置成功。 6)記錄mysqlB的binlogFile和Position項(xiàng)的值,生成CHANGE MASTER語句,然后在mysqlA上執(zhí)行如上操作(先stop slave;...),最后啟動(dòng)slave.
方法二、
1)備份A的數(shù)據(jù)庫(不用鎖表)
mysqldump -uroot -p --single-transaction --opt --flush-logs --events --triggers --routines --master-data=2 --databases db1 db2 > db.sql
2)使用grep -i "change master " db.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002' , MASTER_LOG_POS=120;
OK,結(jié)果所示二進(jìn)制日志文件為mysql-bin.000002,位置為120
然后執(zhí)行方法一的4)、5)、6)即可
MySQL雙主master-master配置的詳細(xì)方法就先給大家講到這里,對(duì)于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。