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ù)器并可以進行更新。這是在主服務(wù)器上進行的,創(chuàng)建一個username和password供副服務(wù)器訪問時使用。也可以使用主服務(wù)器默認的帳號和密碼。
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ù)器,使之啟用二進制日志,即在選項配置文件中添加log-bin啟動選項。
注意:如果主服務(wù)器的二進制日志已經(jīng)啟用,關(guān)閉并重新啟動之前應(yīng)該對以前的二進制日志進行備份。重新啟動后,應(yīng)使用RESET MASTER語句清空以前的日志。
原因:master上對數(shù)據(jù)庫cartrader的一切操作都記錄在日志文件中,然后會把日志發(fā)給slave,slave接收到master傳來的日志文 件之后就會執(zhí)行相應(yīng)的操作,使slave中的數(shù)據(jù)庫做和master數(shù)據(jù)庫相同的操作。所以為了保持數(shù)據(jù)的一致性,必須保證日志文件沒有臟數(shù)據(jù)。
4.重啟master
配置好以上選項后,重啟MySQL服務(wù),新選項將生效?,F(xiàn)在,所有對數(shù)據(jù)庫中信息的更新操作將被寫進日志中。
5.配置slave
在副服務(wù)器上的MySQL選項配置文件中添加以下參數(shù):
[mysqld]
#唯一,并與主服務(wù)器上的server-id不同。
server-id=2
#主服務(wù)器的主機名或者ip地址
master-host= 192.168.0.104
#如果主服務(wù)器沒有在默認的端口上監(jiān)聽,則需確定master-port選項
master-port=3306
#步驟2.1中創(chuàng)建的用戶名和密碼
master-user=root
master-password=123456
#復(fù)制操作要針對的數(shù)據(jù)庫(可選,默認為全部)
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ù),在啟動過程中使用選項配置文件中的新選項進行重新創(chuàng)建了master.info文件。
將主服務(wù)器上備份好的數(shù)據(jù)庫腳本文件(cartrader.sql)導(dǎo)入到副服務(wù)器數(shù)據(jù)庫中,以便保
證主-副服務(wù)器上進行復(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雙機熱備和負載均衡的實現(xiàn)步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
您可能感興趣的文章:- 利用MySQL系統(tǒng)數(shù)據(jù)庫做性能負載診斷的方法
- MySQL如何實現(xiàn)負載均衡功能
- 如何使用nginx充當(dāng)mysql的負載均衡器
- 在OneProxy的基礎(chǔ)上實行MySQL讀寫分離與負載均衡
- 基于mysql+mycat搭建穩(wěn)定高可用集群負載均衡主備復(fù)制讀寫分離操作
- python實現(xiàn)mysql的讀寫分離及負載均衡
- Keepalived+HAProxy實現(xiàn)MySQL高可用負載均衡的配置
- 分析MySQL中索引引引發(fā)的CPU負載飆升的問題
- 快速增加MYSQL數(shù)據(jù)庫連接數(shù)負載能力的方法分享
- 具有負載均衡功能的MySQL服務(wù)器集群部署及實現(xiàn)
- mysql CPU高負載問題排查