在WEB應用方面,MySQL是最好的關系性數(shù)據(jù)庫管理系統(tǒng)應用軟件之一。
MySQL數(shù)據(jù)庫自身提供的主從復制功能可以方便的實現(xiàn)數(shù)據(jù)的多副本復制和數(shù)據(jù)庫的拓展。在保證MySQL數(shù)據(jù)庫主從復制高可用性的情況下,實現(xiàn)多個數(shù)據(jù)副本存儲以及讀寫分離技術,不僅可以加強數(shù)據(jù)的安全性,還能進一步提升數(shù)據(jù)庫的讀寫性能。
對此,創(chuàng)新互聯(lián)的數(shù)據(jù)庫產(chǎn)品團隊從MySQL數(shù)據(jù)庫主從復制原理及高可用原理兩方面著手,通過配置實踐進行詳細的講解。
第一步:master記錄二進制日志。在每個事務更新數(shù)據(jù)完成之前,master在二進制日志記錄這些改變。MySQL將事務串行的寫入二進制日志,在事件寫入二進制日志完成后,master通知存儲引擎提交事務。此后可接收slave的請求。
第三步:SQL slave thread(SQL從線程)處理該過程的最后一步。SQL線程從中繼日志讀取事件,并重放其中的事件而更新slave的數(shù)據(jù),使其與master中的數(shù)據(jù)一致。只要該線程與I/O線程保持一致,中繼日志通常會位于OS的緩存中,所以中繼日志的開銷很小。
MHA Node運行在每臺MySQL服務器上,MHA Manager會定時探測集群中的master節(jié)點,當master出現(xiàn)故障時,它可以自動將最新數(shù)據(jù)的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é)點授權擁有管理權限的用戶可在本地網(wǎng)絡中有其他節(jié)點上遠程訪問。 當然, 此時僅需要且只能在master節(jié)點運行類似如下SQL語句即可。
2. 準備基于SSH互信通信環(huán)境
MHA集群中的各節(jié)點彼此之間均需要基于ssh互信通信, 以實現(xiàn)遠程控制及數(shù)據(jù)管理功能??稍贛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復制集群的連接配置參數(shù)是否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日志文件中出現(xiàn)如下信息,表示manager檢測到10.220.1.2節(jié)點故障, 而后自動執(zhí)行故障轉移, 將10.220.1.3提升為主節(jié)點。 注意, 故障轉移完成后, manager將會自動停止, 此時使用masterha_check_status命令檢測將會遇到錯誤提示, 如下所示:
3. 提供新的從節(jié)點以修復復制集群
原有 master 節(jié)點故障后, 需要重新準備好一個新的 MySQL 節(jié)點。 基于來自于master 節(jié)點的備份恢復數(shù)據(jù)后, 將其配置為新的 master 的從節(jié)點即可。 注意,新加入的節(jié)點如果為新 增節(jié)點, 其 IP 地址要配置為原來 master 節(jié)點的 IP, 否則, 還需要修改 app1.cnf 中相應的 ip 地址。 隨后再次啟動 manager, 并再次檢測其狀態(tài)。
通過以上配置操作,可以有效保證MySQL主從復制及其高可用性,從而實現(xiàn)主庫宕機后自動切換到從庫。
文章標題:【干貨】高性能mysql實踐分享
文章路徑:http://muchs.cn/news45/105495.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、App開發(fā)、品牌網(wǎng)站設計、網(wǎng)站策劃、定制網(wǎng)站、外貿(mào)網(wǎng)站建設
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯(lián)