溫馨提示×

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

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

怎么在Mysql中實(shí)現(xiàn)雙機(jī)熱備和負(fù)載均衡

發(fā)布時(shí)間:2021-06-02 17:15:09 來(lái)源:億速云 閱讀:233 作者:Leah 欄目:MySQL數(shù)據(jù)庫(kù)

本篇文章為大家展示了怎么在Mysql中實(shí)現(xiàn)雙機(jī)熱備和負(fù)載均衡,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

下面是具體的主從熱備份的步驟:

假設(shè)主服務(wù)器A(master)、從服務(wù)器為B(slave)

A:192.168.0.104

B:192.168.0.169

1.主服務(wù)器授權(quán)

授權(quán)副服務(wù)器可以連接主服務(wù)器并可以進(jìn)行更新。這是在主服務(wù)器上進(jìn)行的,創(chuàng)建一個(gè)username和password供副服務(wù)器訪問(wèn)時(shí)使用。也可以使用主服務(wù)器默認(rèn)的帳號(hào)和密碼。

2.數(shù)據(jù)復(fù)制

將master上已有的數(shù)據(jù)復(fù)制到slave上,以便主從數(shù)據(jù)庫(kù)建立的時(shí)候兩個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)保持一致。導(dǎo)出導(dǎo)入數(shù)據(jù)庫(kù)就不詳述了。

3.配置主服務(wù)器

修改master上mysql的根目錄下的my.ini配置文件

在選項(xiàng)配置文件中賦予主服務(wù)器一個(gè)server-id,該id必須是1到2^23-1范圍內(nèi)的唯一值。主服務(wù)器和副服務(wù)器的server-id不能相同。另外,還需要配置主服務(wù)器,使之啟用二進(jìn)制日志,即在選項(xiàng)配置文件中添加log-bin啟動(dòng)選項(xiàng)。

注意:如果主服務(wù)器的二進(jìn)制日志已經(jīng)啟用,關(guān)閉并重新啟動(dòng)之前應(yīng)該對(duì)以前的二進(jìn)制日志進(jìn)行備份。重新啟動(dòng)后,應(yīng)使用RESET MASTER語(yǔ)句清空以前的日志。

原因:master上對(duì)數(shù)據(jù)庫(kù)cartrader的一切操作都記錄在日志文件中,然后會(huì)把日志發(fā)給slave,slave接收到master傳來(lái)的日志文 件之后就會(huì)執(zhí)行相應(yīng)的操作,使slave中的數(shù)據(jù)庫(kù)做和master數(shù)據(jù)庫(kù)相同的操作。所以為了保持?jǐn)?shù)據(jù)的一致性,必須保證日志文件沒(méi)有臟數(shù)據(jù)。

4.重啟master

配置好以上選項(xiàng)后,重啟MySQL服務(wù),新選項(xiàng)將生效?,F(xiàn)在,所有對(duì)數(shù)據(jù)庫(kù)中信息的更新操作將被寫(xiě)進(jìn)日志中。

5.配置slave

在副服務(wù)器上的MySQL選項(xiàng)配置文件中添加以下參數(shù):

[mysqld]
#唯一,并與主服務(wù)器上的server-id不同。
server-id=2
#主服務(wù)器的主機(jī)名或者ip地址
master-host= 192.168.0.104
#如果主服務(wù)器沒(méi)有在默認(rèn)的端口上監(jiān)聽(tīng),則需確定master-port選項(xiàng)
master-port=3306
#步驟2.1中創(chuàng)建的用戶名和密碼
master-user=root
master-password=123456
#復(fù)制操作要針對(duì)的數(shù)據(jù)庫(kù)(可選,默認(rèn)為全部)
replicate-do-db=cartrader
#如果主副服務(wù)器間連接經(jīng)常失敗,需增加master-retry-count和master-connect-retry
#master-retry-count連接重試的次數(shù)
#master-connect-retry 連接失敗后等待的秒數(shù)
master-retry-count = 999
master-connect-retry = 60

5.重啟slave

副服務(wù)器上MySQL服務(wù)重啟后,還在數(shù)據(jù)目錄中創(chuàng)建一個(gè)master.info文件,其中包含

所有有關(guān)復(fù)制過(guò)程的信息(連接主服務(wù)器的相關(guān)信息及與主服務(wù)器交換數(shù)據(jù)的相關(guān)信息)。在初次啟動(dòng)以后,副服務(wù)器將檢查這個(gè)master.info文件,以得到相關(guān)信息。

如果想修改復(fù)制選項(xiàng),刪除master.info并重啟MySQL服務(wù),在啟動(dòng)過(guò)程中使用選項(xiàng)配置文件中的新選項(xiàng)進(jìn)行重新創(chuàng)建了master.info文件。

將主服務(wù)器上備份好的數(shù)據(jù)庫(kù)腳本文件(cartrader.sql)導(dǎo)入到副服務(wù)器數(shù)據(jù)庫(kù)中,以便保

證主-副服務(wù)器上進(jìn)行復(fù)制操作的起點(diǎn)一樣。

6.查看master的狀態(tài)與設(shè)置的是否一致

7.查看slave

一般情況下重啟了slave之后,自動(dòng)就會(huì)開(kāi)啟復(fù)制功能,可以通過(guò)下面的語(yǔ)句查看

在slave上

mysql>show slave status

如果顯示waiting for master to send event 的話就表示已經(jīng)啟動(dòng)了,反之就運(yùn)行

mysql>start slave

來(lái)啟動(dòng)slave

在SHOW SLAVE STATUS的命令輸出后,應(yīng)該包含Slave_IO_Running對(duì)應(yīng)的值為YES,

Slave_SQL_Running對(duì)應(yīng)的值為YES,只有這樣才保證主從機(jī)能正常備份。

暫時(shí)停止主從熱備份的命令是:

mysql>stop slave

上述內(nèi)容就是怎么在Mysql中實(shí)現(xiàn)雙機(jī)熱備和負(fù)載均衡,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(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