在WEB應用方面,MySQL是最好的關系性數據庫管理系統(tǒng)應用軟件之一。
MySQL數據庫自身提供的主從復制功能可以方便的實現數據的多副本復制和數據庫的拓展。在保證MySQL數據庫主從復制高可用性的情況下,實現多個數據副本存儲以及讀寫分離技術,不僅可以加強數據的安全性,還能進一步提升數據庫的讀寫性能。
對此,創(chuàng)新互聯的數據庫產品團隊從MySQL數據庫主從復制原理及高可用原理兩方面著手,通過配置實踐進行詳細的講解。
第一步:master記錄二進制日志。在每個事務更新數據完成之前,master在二進制日志記錄這些改變。MySQL將事務串行的寫入二進制日志,在事件寫入二進制日志完成后,master通知存儲引擎提交事務。此后可接收slave的請求。
第三步:SQL slave thread(SQL從線程)處理該過程的最后一步。SQL線程從中繼日志讀取事件,并重放其中的事件而更新slave的數據,使其與master中的數據一致。只要該線程與I/O線程保持一致,中繼日志通常會位于OS的緩存中,所以中繼日志的開銷很小。
MHA Node運行在每臺MySQL服務器上,MHA Manager會定時探測集群中的master節(jié)點,當master出現故障時,它可以自動將最新數據的slave提升為新的master,然后將所有其他的slave重新指向新的master。整個故障轉移過程對應用程序完全透明。
1. 角色分配
node1: MySQL master
node2: MySQL slave
node3: MySQL slave
node4: MHA Manager
二、初始主節(jié)點master配置
三、所有slave節(jié)點依賴的配置
四、確保主從復制運行無誤
五、安裝配置MHA
1. 在所有MYSQL節(jié)點授權擁有管理權限的用戶可在本地網絡中有其他節(jié)點上遠程訪問。 當然, 此時僅需要且只能在master節(jié)點運行類似如下SQL語句即可。
2. 準備基于SSH互信通信環(huán)境
MHA集群中的各節(jié)點彼此之間均需要基于ssh互信通信, 以實現遠程控制及數據管理功能??稍贛anager節(jié)點生成密鑰對兒, 并設置其可遠程連接本地主機后, 將私鑰文件及authorized_keys文件復制給余下的所有節(jié)點即可。
3. 進行MHA安裝包安裝
Manager 節(jié)點: #yum install mha4*(即:倆包同時安裝)
所有節(jié)點: #yum installmha4mysql-node-0.56-0.el6.norch.rpm
5. 定義MHA管理配置文件
為MHA專門創(chuàng)建一個管理用戶,方便以后使用,在mysql的主節(jié)點上,三個節(jié)點自動同步.
6. 檢測各節(jié)點間ssh互信通信配置是否Ok
Node4操作:
[root@node4 ~]# masterha_check_ssh -conf=/etc/mha_master/app1.cnf
輸出信息最后一行類似如下信息, 表示其通過檢測。
[info]All SSH connection tests passed successfully.
檢查管理的MySQL復制集群的連接配置參數是否OK:
[root@node4 ~]# masterha_check_repl -conf=/etc/mha_master/app1.cnf
7. 啟動MHA
[root@node4.jingan ~]#nohup masterha_manager -conf=/etc/mha_master/app1.cnf &> /etc/mha_master/manager.log &
# 啟動成功后,可用過如下命令來查看master節(jié)點的狀態(tài):
[root@node4.jingan ~]#masterha_check_status
-conf=/etc/mha_master/app1.cnf
app1 (pid:4978)is running(0:PING_OK),master:10.220.1.2
六、測試MHA測試故障轉移
2. 在manager節(jié)點查看日志:
/data/masterha/app1/manager.log日志文件中出現如下信息,表示manager檢測到10.220.1.2節(jié)點故障, 而后自動執(zhí)行故障轉移, 將10.220.1.3提升為主節(jié)點。 注意, 故障轉移完成后, manager將會自動停止, 此時使用masterha_check_status命令檢測將會遇到錯誤提示, 如下所示:
3. 提供新的從節(jié)點以修復復制集群
原有 master 節(jié)點故障后, 需要重新準備好一個新的 MySQL 節(jié)點。 基于來自于master 節(jié)點的備份恢復數據后, 將其配置為新的 master 的從節(jié)點即可。 注意,新加入的節(jié)點如果為新 增節(jié)點, 其 IP 地址要配置為原來 master 節(jié)點的 IP, 否則, 還需要修改 app1.cnf 中相應的 ip 地址。 隨后再次啟動 manager, 并再次檢測其狀態(tài)。
通過以上配置操作,可以有效保證MySQL主從復制及其高可用性,從而實現主庫宕機后自動切換到從庫。
分享題目:【干貨】高性能mysql實踐分享
網頁地址:http://www.rwnh.cn/news/105495.html
成都網站建設公司_創(chuàng)新互聯,為您提供云服務器、品牌網站建設、定制網站、做網站、企業(yè)網站制作、小程序開發(fā)
廣告
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯