溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL雙主master-master配置的詳細(xì)方法

發(fā)布時(shí)間:2020-05-14 10:14:28 來源:億速云 閱讀:694 作者:三月 欄目:MySQL數(shù)據(jù)庫(kù)

本文主要給大家簡(jiǎn)單講講MySQL雙主master-master配置的詳細(xì)方法,相關(guān)專業(yè)術(shù)語(yǔ)大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL雙主master-master配置的詳細(xì)方法這篇文章可以給大家?guī)硪恍?shí)際幫助。

環(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ù)庫(kù)鎖表操作,不讓數(shù)據(jù)再進(jìn)行寫入動(dòng)作         > flush tables with  read lock;         > 不要退出連接,另開一個(gè)終端執(zhí)行備份操作.   2)備份mysqlA的數(shù)據(jù)庫(kù)                     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語(yǔ)句被注釋。        --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ù)庫(kù)的狀態(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 語(yǔ)句,然后在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,從庫(kù)mysqlB配置成功。 6)記錄mysqlB的binlogFile和Position項(xiàng)的值,生成CHANGE  MASTER語(yǔ)句,然后在mysqlA上執(zhí)行如上操作(先stop  slave;...),最后啟動(dòng)slave.

方法二、
1)備份A的數(shù)據(jù)庫(kù)(不用鎖表)
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í)分享給大家的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI