MySQL數據庫沒有增量備份的機制,但它提供了一種主從備份的機制,就是把主數據庫的所有的數據同時寫到備份數據庫中。實現MySQL數據庫的熱備份。
下面是具體的主從熱備份的步驟:
假設主服務器A(master)、從服務器為B(slave)
A:192.168.0.104
B:192.168.0.169
1.主服務器授權
授權副服務器可以連接主服務器并可以進行更新。這是在主服務器上進行的,創建一個username和password供副服務器訪問時使用。也可以使用主服務器默認的帳號和密碼。
2.數據復制
將master上已有的數據復制到slave上,以便主從數據庫建立的時候兩個數據庫的數據保持一致。導出導入數據庫就不詳述了。
3.配置主服務器
修改master上mysql的根目錄下的my.ini配置文件
在選項配置文件中賦予主服務器一個server-id,該id必須是1到2^23-1范圍內的唯一值。主服務器和副服務器的server-id不能相同。另外,還需要配置主服務器,使之啟用二進制日志,即在選項配置文件中添加log-bin啟動選項。
注意:如果主服務器的二進制日志已經啟用,關閉并重新啟動之前應該對以前的二進制日志進行備份。重新啟動后,應使用RESET MASTER語句清空以前的日志。
原因:master上對數據庫cartrader的一切操作都記錄在日志文件中,然后會把日志發給slave,slave接收到master傳來的日志文 件之后就會執行相應的操作,使slave中的數據庫做和master數據庫相同的操作。所以為了保持數據的一致性,必須保證日志文件沒有臟數據。
4.重啟master
配置好以上選項后,重啟MySQL服務,新選項將生效。現在,所有對數據庫中信息的更新操作將被寫進日志中。
5.配置slave
在副服務器上的MySQL選項配置文件中添加以下參數:
[mysqld]
#唯一,并與主服務器上的server-id不同。
server-id=2
#主服務器的主機名或者ip地址
master-host= 192.168.0.104
#如果主服務器沒有在默認的端口上監聽,則需確定master-port選項
master-port=3306
#步驟2.1中創建的用戶名和密碼
master-user=root
master-password=123456
#復制操作要針對的數據庫(可選,默認為全部)
replicate-do-db=cartrader
#如果主副服務器間連接經常失敗,需增加master-retry-count和master-connect-retry
#master-retry-count連接重試的次數
#master-connect-retry 連接失敗后等待的秒數
master-retry-count = 999
master-connect-retry = 60
5.重啟slave
副服務器上MySQL服務重啟后,還在數據目錄中創建一個master.info文件,其中包含
所有有關復制過程的信息(連接主服務器的相關信息及與主服務器交換數據的相關信息)。在初次啟動以后,副服務器將檢查這個master.info文件,以得到相關信息。
如果想修改復制選項,刪除master.info并重啟MySQL服務,在啟動過程中使用選項配置文件中的新選項進行重新創建了master.info文件。
將主服務器上備份好的數據庫腳本文件(cartrader.sql)導入到副服務器數據庫中,以便保
證主-副服務器上進行復制操作的起點一樣。
6.查看master的狀態與設置的是否一致
7.查看slave
一般情況下重啟了slave之后,自動就會開啟復制功能,可以通過下面的語句查看
在slave上
mysql>show slave status
如果顯示waiting for master to send event 的話就表示已經啟動了,反之就運行
mysql>start slave
來啟動slave
在SHOW SLAVE STATUS的命令輸出后,應該包含Slave_IO_Running對應的值為YES,
Slave_SQL_Running對應的值為YES,只有這樣才保證主從機能正常備份。
暫時停止主從熱備份的命令是:
mysql>stop slave
總結
以上所述是小編給大家介紹的Mysql雙機熱備和負載均衡的實現步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
您可能感興趣的文章:- 利用MySQL系統數據庫做性能負載診斷的方法
- MySQL如何實現負載均衡功能
- 如何使用nginx充當mysql的負載均衡器
- 在OneProxy的基礎上實行MySQL讀寫分離與負載均衡
- 基于mysql+mycat搭建穩定高可用集群負載均衡主備復制讀寫分離操作
- python實現mysql的讀寫分離及負載均衡
- Keepalived+HAProxy實現MySQL高可用負載均衡的配置
- 分析MySQL中索引引引發的CPU負載飆升的問題
- 快速增加MYSQL數據庫連接數負載能力的方法分享
- 具有負載均衡功能的MySQL服務器集群部署及實現
- mysql CPU高負載問題排查