十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文主要給大家介紹mysql高可用架構(gòu)MHA如何搭建及配置,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下mysql高可用架構(gòu)MHA如何搭建及配置吧。
mysql實(shí)現(xiàn)高可用架構(gòu)之MHA
一、簡介
MHA(Master HA)是一款開源的 MySQL 的高可用程序,它為 MySQL 主從復(fù)制架構(gòu)提供了 automating
master failover (自動(dòng)化主故障轉(zhuǎn)移)功能。MHA 在監(jiān)控到 master 節(jié)點(diǎn)故障時(shí),會提升其中擁有最新數(shù)據(jù)的
slave 節(jié)點(diǎn)成為新的master 節(jié)點(diǎn),在此期間,MHA 會通過于其它從節(jié)點(diǎn)獲取額外信息來避免一致性方面的問題。
MHA 還提供了 master 節(jié)點(diǎn)的在線切換功能,即按需切換 master/slave 節(jié)點(diǎn)。 MHA 是由日本人
yoshinorim(原就職于DeNA現(xiàn)就職于FaceBook)開發(fā)的比較成熟的 MySQL 高可用方案。MHA 能夠在30秒內(nèi)實(shí)現(xiàn)
故障切換,并能在故障切換中,大可能的保證數(shù)據(jù)一致性。目前淘寶也正在開發(fā)相似產(chǎn)品 TMHA, 目前已支持一
主一從。
二、MHA 服務(wù)
2.1 服務(wù)角色
MHA 服務(wù)有兩種角色, MHA Manager(管理節(jié)點(diǎn))和 MHA Node(數(shù)據(jù)節(jié)點(diǎn)): MHA Manager: 通常單獨(dú)部署在一臺獨(dú)立機(jī)器上管理多個(gè) master/slave 集群(組),每個(gè) master/slave 集群稱作一個(gè) application,用來管理統(tǒng)籌整個(gè)集群。 MHA node: 運(yùn)行在每臺 MySQL云服務(wù)器上(master/slave/manager),它通過監(jiān)控具備解析和清理 logs 功能的腳本來加快故障轉(zhuǎn)移。 主要是接收管理節(jié)點(diǎn)所發(fā)出指令的代理,代理需要運(yùn)行在每一個(gè) mysql 節(jié)點(diǎn)上。簡單講 node 就是用來收集從節(jié)點(diǎn)云服務(wù)器上所生成的 bin-log 。對比打算提升為新的主節(jié)點(diǎn)之上的從節(jié)點(diǎn)的是否擁有并完成操作,如果沒有發(fā)給新主節(jié)點(diǎn)在本地應(yīng)用后提升為主節(jié)點(diǎn)。
由上圖
我們可以看出,每個(gè)復(fù)制組內(nèi)部和 Manager 之間都需要ssh實(shí)現(xiàn)無密碼互連,只有這樣,在 Master 出故障時(shí), Manager 才能順利的連接進(jìn)去,實(shí)現(xiàn)主從切換功能。
2.2提供的工具
MHA會提供諸多工具程序, 其常見的如下所示: Manager節(jié)點(diǎn): masterha_check_ssh :MHA 依賴的
ssh 環(huán)境監(jiān)測工具; masterha_check_repl :MYSQL 復(fù)制環(huán)境檢測工具; masterga_manager :MHA
服務(wù)主程序; masterha_check_status :MHA 運(yùn)行狀態(tài)探測工具; masterha_master_monitor :
MYSQL master 節(jié)點(diǎn)可用性監(jiān)測工具; masterha_master_swith:master :節(jié)點(diǎn)切換工具;
masterha_conf_host :添加或刪除配置的節(jié)點(diǎn); masterha_stop :關(guān)閉 MHA 服務(wù)的工具。 Node節(jié)點(diǎn):(這些工具通常由MHA Manager的腳本觸發(fā),無需人為操作) save_binary_logs :保存和復(fù)制 master 的二進(jìn)制日志; apply_diff_relay_logs :識別差異的中繼日志事件并應(yīng)用于其他 slave;
purge_relay_logs :清除中繼日志(不會阻塞 SQL 線程); 自定義擴(kuò)展:
secondary_check_script :通過多條網(wǎng)絡(luò)路由檢測master的可用性; master_ip_failover_script :更新
application使用的masterip; report_script :發(fā)送報(bào)告; init_conf_load_script :加載初始配置參
數(shù);
master_ip_online_change_script ;更新master節(jié)點(diǎn)ip地址。
2.3工作原理
MHA工作原理總結(jié)為以下幾條: (1) 從宕機(jī)崩潰的 master 保存二進(jìn)制日志事件(binlog events); (2) 識別含有最新更新的 slave ; (3) 應(yīng)用差異的中繼日志(relay log) 到其他 slave ; (4) 應(yīng)用從 master 保存的二進(jìn)制日志事件(binlog events); (5) 提升一個(gè) slave 為新 master ;
三、實(shí)現(xiàn)過程
3.1 準(zhǔn)備實(shí)驗(yàn) Mysql 的 Replication 環(huán)境
3.1.1 相關(guān)配置
MHA 對 MYSQL 復(fù)制環(huán)境有特殊要求,例如各節(jié)點(diǎn)都要開啟二進(jìn)制日志及中繼日志,各從節(jié)點(diǎn)必須顯示啟用其 read-only 屬性,并關(guān)閉 relay_log_purge 功能等,這里對配置做事先說明。 本實(shí)驗(yàn)環(huán)境共有四個(gè)節(jié)點(diǎn), 其角色分配如下(實(shí)驗(yàn)機(jī)器均為centos 7.3):
所有節(jié)點(diǎn)進(jìn)行初始化關(guān)閉防火墻,selinux 重啟系統(tǒng)
1[root@master ~]# hostnamectl --static set-hostname master
2 [root@master ~]# systemctl status firewalld.service
3 [root@master ~]# systemctl stop firewalld.service
4 [root@master ~]# systemctl disable firewalld.service
5 [root@master ~]# getenforce
6 Enforcing
7 [root@master ~]# setenforce 0
8 [root@master ~]# vim /etc/selinux/config
9 # 修改 SELINUX=disabled
10[root@master ~]# reboot
為了方便我們后期的操作,我們在各節(jié)點(diǎn)的/etc/hosts文件配置內(nèi)容中添加如下內(nèi)容:
1192.168.37.111 manager.qf.com manager
2 192.168.37.122 master.qf.com master
3 192.168.37.133 slave1.qf.com slave1
4 192.168.37.144 slave2.qf.com slave2
這樣的話,我們就可以通過 host 解析節(jié)點(diǎn)來打通私鑰訪問,會方便很多。
安裝 mariadb
11、添加mariadb的yum源
2[root@master ~]# vim /etc/yum.repo.d/mariadb.repo
3 [mariadb]
4 name = MariaDB
5 baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64 gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
6gpgcheck=1
7 2、安裝
8[root@master ~]# yum -y install MariaDB-server MariaDB-client
9 3、初始化mariadb
10[root@master ~]# mysql_secure_installation
3.1.2 初始主節(jié)點(diǎn) master 的配置
我們需要修改 master 的數(shù)據(jù)庫配置文件來對其進(jìn)行初始化配置:
1[root@master ~]# vim /etc/my.cnf
2[mysqld]
3 server-id = 1 //復(fù)制集群中的各節(jié)點(diǎn)的id均必須唯一
4 log-bin = master-log //開啟二進(jìn)制日志
5 relay-log = relay-log //開啟中繼日志
6 skip_name_resolve //關(guān)閉名稱解析(非必須)
7[root@master ~]# systemctl restart mariadb
本步驟完成。
3.1.3 所有 slave 節(jié)點(diǎn)依賴的配置
我們修改兩個(gè) slave 的數(shù)據(jù)庫配置文件,兩臺機(jī)器都做如下操作:
1[root@slave1 ~]# vim /etc/my.cnf
2[mysqld]
3 server-id = 2 //復(fù)制集群中的各節(jié)點(diǎn)的id均必須唯一;
4 relay-log = relay-log //開啟中繼日志
5 log-bin = master-log //開啟二進(jìn)制日志
6 read_only = ON //啟用只讀屬性
7 relay_log_purge = 0 //是否自動(dòng)清空不再需要中繼日志
8 skip_name_resolve //關(guān)閉名稱解析(非必須)
9 log_slave_updates = 1 //使得更新的數(shù)據(jù)寫進(jìn)二進(jìn)制日志中
10[root@slave1 ~]# systemctl restart mariadb
11[root@slave2 ~]# vim /etc/my.cnf
12[mysqld]
13 server-id = 3 //復(fù)制集群中的各節(jié)點(diǎn)的id均必須唯一;
14 relay-log = relay-log //開啟中繼日志
15 log-bin = master-log //開啟二進(jìn)制日志
16 read_only = ON //啟用只讀屬性
17 relay_log_purge = 0 //是否自動(dòng)清空不再需要中繼日志
18 skip_name_resolve //關(guān)閉名稱解析(非必須)
19 log_slave_updates = 1 //使得更新的數(shù)據(jù)寫進(jìn)二進(jìn)制日志中
20[root@slave2 ~]# systemctl restart mariadb
本步驟完成。
3.1.4 配置一主多從復(fù)制架構(gòu)
master 節(jié)點(diǎn)上:
1# 授權(quán)同步數(shù)據(jù)賬號
2[root@master ~]# mysql -uroot -p'keer'
3MariaDB [(none)]>grant replication slave,replication client on . to 'slave'@'192.168.%.%' identified by 'keer';
4# 備份數(shù)據(jù)導(dǎo)出到從庫
5[root@master ~]# mysqldump -uroot -p'keer' --all-databases > date +%F
-mysql-all.sql
6[root@master ~]# scp *mysql-all.sql 192.168.20.100:/root
7 [root@master ~]# mysql -uroot -p'keer'
8 MariaDB [(none)]> show master status;
slave 節(jié)點(diǎn)上:
1#導(dǎo)入數(shù)據(jù)
2[root@slave1 ~]# mysql -uroot -p'keer' < *mysql-all.sql
3 [root@slave1 ~]# mysql -uroot -p'keer'
4 MariaDB [(none)]> change master to master_host='192.168.37.122',
5-> master_user='slave',
6-> master_password='keer',
7-> master_log_file='mysql-bin.000001',
8-> master_log_pos=415;
9 MariaDB [(none)]> start slave;
10 MariaDB [(none)]> show slave status\G;
本步驟完成。
3.2 安裝配置MHA
3.2.1 在 master 上進(jìn)行授權(quán)
在所有 Mysql 節(jié)點(diǎn)授權(quán)擁有管理權(quán)限的用戶可在本地網(wǎng)絡(luò)中有其他節(jié)點(diǎn)上遠(yuǎn)程訪問。 當(dāng)然, 此時(shí)僅需要且只能在 master 節(jié)點(diǎn)運(yùn)行類似如下 SQL 語句即可。
1[root@master ~]# mysql -uroot -p'keer'
2MariaDB [(none)]> grant all on . to 'mhaadmin'@'192.168.%.%' identified by 'mhapass';
本步驟完成。
3.2.2 準(zhǔn)備 ssh 互通環(huán)境
MHA集群中的各節(jié)點(diǎn)彼此之間均需要基于ssh互信通信,以實(shí)現(xiàn)遠(yuǎn)程控制及數(shù)據(jù)管理功能。簡單起見,可在Manager節(jié)點(diǎn)生成密鑰對兒,并設(shè)置其可遠(yuǎn)程連接本地主機(jī)后, 將私鑰文件及authorized_keys文件復(fù)制給余下的所有節(jié)點(diǎn)即可。 下面操作在所有節(jié)點(diǎn)上操作:
1[root@manager ~]# ssh-keygen -t rsa
2 [root@manager ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node1
當(dāng)四臺機(jī)器都進(jìn)行了上述操作以后,我們可以在 manager 機(jī)器上看到如下文件:
1[root@manager ~]# cd .ssh/
2 [root@manager .ssh]# ls
3 authorized_keys id_rsa id_rsa.pub known_hosts
4 [root@manager .ssh]# cat authorized_keys
四臺機(jī)器的公鑰都已經(jīng)在 authorized_keys 這個(gè)文件中了,接著,我們只需要把這個(gè)文件發(fā)送至另外三臺機(jī)器,這四臺機(jī)器就可以實(shí)現(xiàn) ssh 無密碼互通了:
1[root@manager .ssh]# scp authorized_keys root@master:~/.ssh/
2 [root@manager .ssh]# scp authorized_keys root@slave1:~/.ssh/
3 [root@manager .ssh]# scp authorized_keys root@slave2:~/.ssh/
當(dāng)然,我們也可以在機(jī)器上實(shí)驗(yàn)一下,看看 ssh 是否還需要輸入密碼。 本步驟完成。
3.2.3 安裝 MHA 包
在本步驟中, Manager節(jié)點(diǎn)需要另外多安裝一個(gè)包。具體需要安裝的內(nèi)容如下:
四個(gè)節(jié)點(diǎn)都需安裝: mha4mysql-node-0.56-0.el6.norch.rpm Manager 節(jié)點(diǎn)另需要安裝: mha4mysql-manager-0.56-0.el6.noarch.rpm
需要安裝的包我已經(jīng)上傳至百度云盤,密碼:mkcr,大家需要的自行下載使用~ 我們使用 rz 命令分別上傳,然后使用 yum 安裝即可。
1[root@manager ~]# rz
2 [root@manager ~]# ls
3 anaconda-ks.cfg initial-setup-ks.cfg Pictures
4 Desktop mha4mysql-manager-0.56-0.el6.noarch.rpm Public
5 Documents mha4mysql-node-0.56-0.el6.noarch.rpm Templates
6 Downloads Music Videos
7[root@manager ~]# yum install -y mha4mysql-node-0.56-0.el6.noarch.rpm
8[root@manager ~]# yum install -y mha4mysql-manager-0.56-0.el6.noarch.rpm
其余機(jī)器也分別進(jìn)行安裝,就不一一舉例了。 本步驟完成。
需配置mariadb源才能安裝
3.2.4 初始化 MHA ,進(jìn)行配置
Manager 節(jié)點(diǎn)需要為每個(gè)監(jiān)控的 master/slave 集群提供一個(gè)專用的配置文件,而所有的 master/slave 集群也可共享全局配置。全局配置文件默認(rèn)為 /etc/masterha_default.cnf ,其為可選配置。如果僅監(jiān)控一組 master/slave 集群,也可直接通過 application 的配置來提供各云服務(wù)器的默認(rèn)配置信息。而每個(gè) application 的配置文件路徑為自定義。具體操作見下一步驟。
3.2.5 定義 MHA 管理配置文件
為MHA專門創(chuàng)建一個(gè)管理用戶, 方便以后使用, 在mysql的主節(jié)點(diǎn)上, 三個(gè)節(jié)點(diǎn)自動(dòng)同步:
1mkdir /etc/mha_master
2vim /etc/mha_master/mha.cnf
配置文件內(nèi)容如下;
1 [server default] //適用于server1,2,3個(gè)server的配置
2 user=mhaadmin //mha管理用戶
3 password=mhapass //mha管理密碼
4 manager_workdir=/etc/mha_master/app1 //mha_master自己的工作路徑
5 manager_log=/etc/mha_master/manager.log // mha_master自己的日志文件
6 remote_workdir=/mydata/mha_master/app1 //每個(gè)遠(yuǎn)程主機(jī)的工作目錄在何處
7 ssh_user=root // 基于ssh的密鑰認(rèn)證
8 repl_user=slave //數(shù)據(jù)庫用戶名
9 repl_password=keer //數(shù)據(jù)庫密碼
10 ping_interval=1 //ping間隔時(shí)長
11 [server1] //節(jié)點(diǎn)2
12 hostname=192.168.37.122 //節(jié)點(diǎn)2主機(jī)地址
13 ssh_port=22 //節(jié)點(diǎn)2的ssh端口
14 candidate_master=1 //將來可不可以成為master候選節(jié)點(diǎn)/主節(jié)點(diǎn)
15[server2]
16hostname=192.168.37.133
17ssh_port=22
18candidate_master=1
19[server3]
20hostname=192.168.37.144
21ssh_port=22
22candidate_master=1
本步驟完成。
3.2.6 對四個(gè)節(jié)點(diǎn)進(jìn)行檢測
1)檢測各節(jié)點(diǎn)間 ssh 互信通信配置是否 ok 我們在 Manager 機(jī)器上輸入下述命令來檢測:
1[root@manager ~]# masterha_check_ssh -conf=/etc/mha_master/mha.cnf
如果最后一行顯示為 [info]All SSH connection tests passed successfully. 則表示成功。
2)檢查管理的MySQL復(fù)制集群的連接配置參數(shù)是否OK
1[root@manager ~]# masterha_check_repl -conf=/etc/mha_master/mha.cnf
我們發(fā)現(xiàn)檢測失敗,這可能是因?yàn)閺墓?jié)點(diǎn)上沒有賬號,因?yàn)檫@個(gè)架構(gòu),任何一個(gè)從節(jié)點(diǎn), 將有可能成為主節(jié)點(diǎn), 所以也需要?jiǎng)?chuàng)建賬號。 因此,我們需要在master節(jié)點(diǎn)上再次執(zhí)行以下操作:
1[root@manager ~]# mysql -uroot -p'keer'
2MariaDB [(none)]> grant replication slave,replication client on . to 'slave'@'192.168.%.%' identified by 'keer';
3MariaDB [(none)]> flush privileges;
執(zhí)行完這段操作之后,我們再次運(yùn)行檢測命令:
1[root@manager ~]# masterha_check_repl -conf=/etc/mha_master/mha.cnf
2 Thu Nov 23 09:07:08 2017 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
3 Thu Nov 23 09:07:08 2017 - [info] Reading application default configuration from /etc/mha_master/mha.cnf..
4 Thu Nov 23 09:07:08 2017 - [info] Reading server configuration from /etc/mha_master/mha.cnf..
5 ……
6 MySQL Replication Health is OK.
可以看出,我們的檢測已經(jīng)ok了。 此步驟完成。
3.3 啟動(dòng) MHA
我們在 manager 節(jié)點(diǎn)上執(zhí)行以下命令來啟動(dòng) MHA:
1[root@manager ~]# nohup masterha_manager -conf=/etc/mha_master/mha.cnf &> /etc/mha_master/manager.log &
2[1] 7598
啟動(dòng)成功以后,我們來查看一下 master 節(jié)點(diǎn)的狀態(tài):
1[root@manager ~]# masterha_check_status -conf=/etc/mha_master/mha.cnf
2 mha (pid:7598) is running(0:PING_OK), master:192.168.37.122
上面的信息中“mha (pid:7598) is running(0:PING_OK)”表示MHA服務(wù)運(yùn)行OK,否則, 則會顯示為類似“mha is stopped(1:NOT_RUNNING).” 如果,我們想要停止 MHA ,則需要使用 stop 命令:
1[root@manager ~]# masterha_stop -conf=/etc/mha_master/mha.cnf
3.4 測試 MHA 故障轉(zhuǎn)移
3.4.1 在 master 節(jié)點(diǎn)關(guān)閉 mariadb 服務(wù),模擬主節(jié)點(diǎn)數(shù)據(jù)崩潰
1[root@master ~]# killall5 -9 mysqld mysqld_safe
2 [root@master ~]# rm -rf /var/lib/mysql/*
3.4.2 在 manger 節(jié)點(diǎn)查看日志
我們來查看日志:
1[root@manager ~]# tail -200 /etc/mha_master/manager.log
2 ……
3 Thu Nov 23 09:17:19 2017 - [info] Master failover to 192.168.37.133(192.168.37.133:3306) completed successfully.
表示 manager 檢測到192.168.37.122節(jié)點(diǎn)故障, 而后自動(dòng)執(zhí)行故障轉(zhuǎn)移, 將192.168.37.133提升為主節(jié)點(diǎn)。注意,故障轉(zhuǎn)移完成后, manager將會自動(dòng)停止, 此時(shí)使用 masterha_check_status 命令檢測將會遇到錯(cuò)誤
提示, 如下所示:
1[root@manager ~]# masterha_check_status -conf=/etc/mha_master/mha.cnf
2 mha is stopped(2:NOT_RUNNING).
3.5 提供新的從節(jié)點(diǎn)以修復(fù)復(fù)制集群
原有 master 節(jié)點(diǎn)故障后,需要重新準(zhǔn)備好一個(gè)新的 MySQL 節(jié)點(diǎn)?;趤碜杂趍aster 節(jié)點(diǎn)的備份恢復(fù)數(shù)據(jù)后,將其配置為新的 master 的從節(jié)點(diǎn)即可。注意,新加入的節(jié)點(diǎn)如果為新增節(jié)點(diǎn),其 IP 地址要配置為原來 master 節(jié)點(diǎn)的 IP,否則,還需要修改 mha.cnf 中相應(yīng)的 ip 地址。隨后再次啟動(dòng) manager ,并再次檢測其狀態(tài)。 我們就以
剛剛關(guān)閉的那臺主作為新添加的機(jī)器,來進(jìn)行數(shù)據(jù)庫的恢復(fù): 原本的 slave1 已經(jīng)成為了新的主機(jī)器,所以,我
們對其進(jìn)行完全備份,而后把備份的數(shù)據(jù)發(fā)送到我們新添加的機(jī)器上:
1[root@slave1 ~]# mkdir /backup
2[root@slave1 ~]# mysqldump --all-database > /backup/date +%F-%T
-myql-all.sql
3 [root@slave1 ~]# scp /backup/2017-11-23-09\:57\:09-mysql-all.sql root@node2:~/
然后在 原master 節(jié)點(diǎn)上進(jìn)行數(shù)據(jù)恢復(fù):
1# 啟動(dòng)并初始化 mariadb
2[root@master ~]# systemctl start mariadb
3[root@master ~]# mysql_secure_installation
4 # 還原數(shù)據(jù)
5 [root@master ~]# mysql < 2017-11-23-09\:57\:09-mysql-all.sql
接下來就是配置主從。照例查看一下現(xiàn)在的主的二進(jìn)制日志和位置,然后就進(jìn)行如下設(shè)置:
1# 查看主云服務(wù)器信息
2[root@slave1 ~]# mysql -uroot -p'keer'
3MariaDB [(none)]> show master status;
4 # 配置主從
5 [root@master ~]# mysql -uroot -p'keer'
6 MariaDB [(none)]> show master status;
7 MariaDB [(none)]> change master to master_host='192.168.37.133', master_user='slave', master_password='keer', master_log_file='mysql-bin.000006', master_log_pos=925;
8 MariaDB [(none)]> start slave;
9 MariaDB [(none)]> show slave status\G;
10 Slave_IO_State: Waiting for master to send event
11 Master_Host: 192.168.37.133
12 Master_User: slave
13 Master_Port: 3306
14 Connect_Retry: 60
15 Master_Log_File: mysql-bin.000006
16Read_Master_Log_Pos: 925
17 Relay_Log_File: mysql-relay-bin.000002
18 Relay_Log_Pos: 529
19Relay_Master_Log_File: mysql-bin.000006
20 Slave_IO_Running: Yes
21 Slave_SQL_Running: Yes
22 ……
可以看出,我們的主從已經(jīng)配置好了。 本步驟完成。
3.6 新節(jié)點(diǎn)提供后再次執(zhí)行檢查操作
我們來再次檢測狀態(tài):
1[root@manager ~]# masterha_check_repl -conf=/etc/mha_master/mha.cnf
如果報(bào)錯(cuò),則再次授權(quán)(詳見上文)。若沒有問題,則啟動(dòng) manager,注意,這次啟動(dòng)要記錄日志:
1[root@manager ~]# masterha_manager -conf=/etc/mha_master/mha.cnf > /etc/mha_master/manager.log 2>&1 &
2[1] 10012
啟動(dòng)成功以后,我們來查看一下 master 節(jié)點(diǎn)的狀態(tài):
1[root@manager ~]# masterha_check_status -conf=/etc/mha_master/mha.cnf
2 mha (pid:9561) is running(0:PING_OK), master:192.168.37.133
我們的服務(wù)已經(jīng)成功繼續(xù)了。 本步驟結(jié)束。
3.7新節(jié)點(diǎn)上線, 故障轉(zhuǎn)換恢復(fù)注意事項(xiàng)
1)在生產(chǎn)環(huán)境中, 當(dāng)你的主節(jié)點(diǎn)掛了后, 一定要在從節(jié)點(diǎn)上做一個(gè)備份, 拿著備份文件把主節(jié)點(diǎn)手動(dòng)提升為從節(jié)點(diǎn), 并指明從哪一個(gè)日志文件的位置開始復(fù)制 2)每一次自動(dòng)完成轉(zhuǎn)換后, 每一次的(replication health ) 檢測不ok始終都是啟動(dòng)不了必須手動(dòng)修復(fù)主節(jié)點(diǎn), 除非你改配置文件 3)手動(dòng)修復(fù)主節(jié)點(diǎn)提升為從節(jié)點(diǎn)后, 再次運(yùn)行檢測命令
1[root@manager ~]# masterha_check_status -conf=/etc/mha_master/mha.cnf
2 mha (pid:9561) is running(0:PING_OK), master:192.168.37.133
4)再次運(yùn)行起來就恢復(fù)成功了
1[root@manager ~]# masterha_manager --conf=/etc/mha_master/mha.cnf
看完以上關(guān)于mysql高可用架構(gòu)MHA如何搭建及配置,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。