詳解Mysql雙機熱備和負(fù)載均衡的實現(xiàn)步驟
MySQL數(shù)據(jù)庫沒有增量備份的機制,但它提供了一種主從備份的機制,就是把主數(shù)據(jù)庫的所有的數(shù)據(jù)同時寫到備份數(shù)據(jù)庫中。實現(xiàn)MySQL數(shù)據(jù)庫的熱備份。
下面是具體的主從熱備份的步驟:
假設(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)建一個username和password供副服務(wù)器訪問時使用。也可以使用主服務(wù)器默認(rèn)的帳號和密碼。
2.數(shù)據(jù)復(fù)制
將master上已有的數(shù)據(jù)復(fù)制到slave上,以便主從數(shù)據(jù)庫建立的時候兩個數(shù)據(jù)庫的數(shù)據(jù)保持一致。導(dǎo)出導(dǎo)入數(shù)據(jù)庫就不詳述了。
3.配置主服務(wù)器
修改master上mysql的根目錄下的my.ini配置文件
在選項配置文件中賦予主服務(wù)器一個server-id,該id必須是1到2^23-1范圍內(nèi)的唯一值。主服務(wù)器和副服務(wù)器的server-id不能相同。另外,還需要配置主服務(wù)器,使之啟用二進(jìn)制日志,即在選項配置文件中添加log-bin啟動選項。
注意:如果主服務(wù)器的二進(jìn)制日志已經(jīng)啟用,關(guān)閉并重新啟動之前應(yīng)該對以前的二進(jìn)制日志進(jìn)行備份。重新啟動后,應(yīng)使用RESET MASTER語句清空以前的日志。
原因:master上對數(shù)據(jù)庫cartrader的一切操作都記錄在日志文件中,然后會把日志發(fā)給slave,slave接收到master傳來的日志文 件之后就會執(zhí)行相應(yīng)的操作,使slave中的數(shù)據(jù)庫做和master數(shù)據(jù)庫相同的操作。所以為了保持?jǐn)?shù)據(jù)的一致性,必須保證日志文件沒有臟數(shù)據(jù)。
4.重啟master
配置好以上選項后,重啟MySQL服務(wù),新選項將生效?,F(xiàn)在,所有對數(shù)據(jù)庫中信息的更新操作將被寫進(jìn)日志中。
5.配置slave
在副服務(wù)器上的MySQL選項配置文件中添加以下參數(shù):
[mysqld]
#唯一,并與主服務(wù)器上的server-id不同。
server-id=2
#主服務(wù)器的主機名或者ip地址
master-host= 192.168.0.104
#如果主服務(wù)器沒有在默認(rèn)的端口上監(jiān)聽,則需確定master-port選項
master-port=3306
#步驟2.1中創(chuàng)建的用戶名和密碼
master-user=root
master-password=123456
#復(fù)制操作要針對的數(shù)據(jù)庫(可選,默認(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)建一個master.info文件,其中包含
所有有關(guān)復(fù)制過程的信息(連接主服務(wù)器的相關(guān)信息及與主服務(wù)器交換數(shù)據(jù)的相關(guān)信息)。在初次啟動以后,副服務(wù)器將檢查這個master.info文件,以得到相關(guān)信息。
如果想修改復(fù)制選項,刪除master.info并重啟MySQL服務(wù),在啟動過程中使用選項配置文件中的新選項進(jìn)行重新創(chuàng)建了master.info文件。
將主服務(wù)器上備份好的數(shù)據(jù)庫腳本文件(cartrader.sql)導(dǎo)入到副服務(wù)器數(shù)據(jù)庫中,以便保
證主-副服務(wù)器上進(jìn)行復(fù)制操作的起點一樣。
6.查看master的狀態(tài)與設(shè)置的是否一致
7.查看slave
一般情況下重啟了slave之后,自動就會開啟復(fù)制功能,可以通過下面的語句查看
在slave上
mysql>show slave status
如果顯示waiting for master to send event 的話就表示已經(jīng)啟動了,反之就運行
mysql>start slave
來啟動slave
在SHOW SLAVE STATUS的命令輸出后,應(yīng)該包含Slave_IO_Running對應(yīng)的值為YES,
Slave_SQL_Running對應(yīng)的值為YES,只有這樣才保證主從機能正常備份。
暫時停止主從熱備份的命令是:
mysql>stop slave
總結(jié)
以上所述是小編給大家介紹的Mysql雙機熱備和負(fù)載均衡的實現(xiàn)步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
MySQL慢查詢?nèi)罩?Slow Query Log)的實現(xiàn)
慢查詢?nèi)罩居脕碛涗浽?nbsp;MySQL 中執(zhí)行時間超過指定時間的查詢語句,本文就來介紹一下MySQL慢查詢?nèi)罩?nbsp;的使用,感興趣的可以了解一下2024-08-08
CentOS Linux更改MySQL數(shù)據(jù)庫目錄位置具體操作
由于MySQL的數(shù)據(jù)庫太大,默認(rèn)安裝的/var盤已經(jīng)再也無法容納新增加的數(shù)據(jù),沒有辦法,只能想辦法轉(zhuǎn)移數(shù)據(jù)的目錄,本文整理了一些MySQL從/var/lib/mysql目錄下面轉(zhuǎn)移到/home/mysql_data/mysql目錄的具體操作,感興趣的你可不要走開啊2013-01-01
MySQL8.0報錯Public?Key?Retrieval?is?not?allowed的原因及解決方法
這篇文章主要給大家介紹了MySQL8.0報錯Public?Key?Retrieval?is?not?allowed的原因及解決方法,文中通過代碼示例和圖文介紹的非常詳細(xì),有遇到相同問題的朋友可以參考閱讀一下2024-01-01
mysql中的int類型對應(yīng)于java中的Long類型詳解
這篇文章主要介紹了mysql中的int類型對應(yīng)于java中的Long類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
MySQL數(shù)據(jù)庫學(xué)習(xí)之去重與連接查詢詳解
這篇文章主要為大家詳細(xì)介紹一下MySQL數(shù)據(jù)庫中去重與連接查詢的使用,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下2022-07-07
MySQL提示The InnoDB feature is disabled需要開啟InnoDB的解決方法
這篇文章主要介紹了MySQL提示The InnoDB feature is disabled需要開啟InnoDB的解決方法,簡單分析了MySQL數(shù)據(jù)庫開啟InnoDB引擎的實現(xiàn)技巧,需要的朋友可以參考下2016-01-01
mysql處理添加外鍵時提示error 150 問題的解決方法
當(dāng)你試圖在mysql中創(chuàng)建一個外鍵的時候,這個出錯會經(jīng)常發(fā)生,這是非常令人沮喪的2011-11-11

