MySQL5.7.26 MHA叢集部署操作手冊
說明:
基於CentOS7.6系統安裝
使用MySQL 5.7.26,MHA 0.58版本安裝
1.系統配置
1.關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
2.關閉SElinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
3.設定主機名
IP | hostname | 角色 |
10.10.10.50 | manager | MHA manager |
10.10.10.51 | mysql01 | MySQL DB Server - Master, MHA Node |
10.10.10.52 | mysql02 | MySQL DB Server- Slave, MHA Node |
10.10.10.53 | mysql03 | MySQl DB Server - Slave, MHA Node |
2.配置各節點間SSH互信
ssh-keygen
ssh-copy-id manager
ssh-copy-id mysql01
ssh-copy-id mysql02
ssh-copy-id mysql03
3.安裝MHA Manager
yum -y install epel-release net-tools
yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
4.安裝MHA Node
yum -y install epel-release net-tools
yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm
5.部署GTID一主二從環境
略
備庫執行set global read_only=on;不要寫入配置檔案
create user root@'%' identified by 'mysql';
grant all on *.* to root@'%';
用於監控
6.配置MHA
mkdir -p /masterha/log
mkdir -p /masterha/tmp
mkdir -p /masterha/mysql
mkdir -p /masterha/app1
touch /masterha/log/app1_manager.log
vim /etc/masterha_default.cnf
vim /etc/mha/app1.cnf
vim /masterha/scripts/master_ip_failover
vim /masterha/scripts/master_ip_online_change
vim /masterha/scripts/send_report
檢查配置
masterha_check_ssh --conf=/etc/mha/app1.cnf
masterha_check_repl --conf=/etc/mha/app1.cnf
7.啟動MHA
master(mysql01)執行:
ifconfig ens32:1 10.10.10.61/24
manager執行:
nohup
masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf
--ignore_last_failover < /dev/null >
/masterha/log/app1_manager.log 2>&1 &
masterha_check_status --conf=/etc/mha/app1.cnf
8.線上切換
關閉MHA
masterha_stop --conf=/etc/mha/app1.cnf
切換
masterha_master_switch
--conf=/etc/mha/app1.cnf --master_state=alive
--new_master_host=10.10.10.52 --orig_master_is_new_slave
--running_updates_limit=10000 --interactive=0
登入資料庫透過show master status; show slave status;檢查,資料庫角色切換成功
重新啟動MHA
nohup
masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf
--ignore_last_failover < /dev/null >
/masterha/log/app1_manager.log 2>&1 &
9.failover
模擬主庫故障,殺掉master節點MySQL程式(mysql01)
主庫切換至mysql02
VIP漂移至mysql02
/etc/mha/app1.cnf中mysql01的資訊被刪除
mysql03主庫重定向為mysql02
10.恢復踢出節點
關閉MHA:
masterha_stop --conf=/etc/mha/app1.cnf
/etc/mha/app1.cnf中恢復mysql01資訊
[server1]
candidate_master=1
hostname=10.10.10.51
port=3306
mysql01啟動資料庫並恢復(生產環境根據情況可能需要完全恢復),並加入主從
CHANGE
MASTER TO MASTER_HOST ='10.10.10.52',MASTER_PORT =3306,MASTER_USER
='repl',MASTER_PASSWORD ='mysql',MASTER_AUTO_POSITION = 1;
重新啟動MHA:
nohup
masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf
--ignore_last_failover < /dev/null >
/masterha/log/app1_manager.log 2>&1 &
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000068/viewspace-2776806/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL MHA部署 Part 5 MHA部署指南MySql
- 部署分片叢集
- jquery操作手冊jQuery
- DHorse操作手冊
- Mysql MHA部署-04MHA配置MySql
- docker部署mysql叢集DockerMySql
- Docker部署ElasticSearch叢集DockerElasticsearch
- 構建MHA實現MySQL高可用叢集架構MySql架構
- GIt tag 操作手冊Git
- PDB插拔操作手冊
- rman duplicate操作手冊
- 管理 ES 叢集:集常見的叢集部署方式
- jmeter 叢集容器化部署JMeter
- 使用docker部署hadoop叢集DockerHadoop
- 二、Linux部署RabbitMQ叢集LinuxMQ
- Redis Cluster叢集模式部署Redis模式
- kraken軟體操作手冊
- redis叢集之主從複製叢集的原理和部署Redis
- MySQL叢集架構:MHA+MySQL-PROXY+LVS實現MySQL叢集架構高可用/高效能MySql架構
- 基於Ubuntu部署企業級kubernetes叢集---k8s叢集容部署UbuntuK8S
- Mysql MHA部署-03MHA軟體安裝MySql
- 在kubernetes上部署consul叢集
- Redis 4.0叢集環境部署Redis
- CentOS部署ElasticSearch7.6.1叢集CentOSElasticsearch
- 在 Azure 上部署 Kubernetes 叢集
- 拆除kubeadm部署的Kubernetes 叢集
- 使用 Ansible 快速部署 HBase 叢集
- Windows Server上部署IoTdb 叢集WindowsServer
- Kubernetes部署叢集Mysql服務MySql
- Linux部署hadoop2.7.7叢集LinuxHadoop
- Redis Cluster叢集模式部署XRedis模式
- MySQL MHA部署實戰MySql
- mpaas-springboot-base操作手冊Spring Boot
- 列印交易票功能操作手冊
- wps+ps 寫操作手冊
- 資料載入操作手冊
- MySQL MHA部署 Part 6 MHA故障轉移測試MySql
- redis叢集之分片叢集的原理和常用代理環境部署Redis