目录
3.安装 mysql-community-libs-compat
MHA自动主从切换实战
1.下载 mha4mysql-manager
wget https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
2.下载 mha4mysql-node
wget https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58-0.el7.centos.noarch.rpm
3.安装 mysql-community-libs-compat
rpm -ivh mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm
4.安装 perl-DBD-MySQL
yum install perl-DBD-MySQL -y
5.安装 epel-release
yum install epel-release -y
#yum 清理缓存
yum clean all
#yum 重建缓存
yum makecache
6.安装mha4mysql-manager
yum install mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
7.安装 mha4mysql-node
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
8.设置relay_log_purge=0
set global relay_log_purge=0
9.以下内容在所有机器上执行:
#生成秘钥
ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa
#传送秘钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.8
#传送秘钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.9
#修改authorized_keys文件权限
chmod 600 /root/.ssh/authorized_keys
#修改 sshd 配置
vim /etc/ssh/sshd_config
#去掉以下两行的注释:
PubkeyAuthentication yes
PermitRootLogin yes
10.以下内容在 manager 执行:
新建 mha 配置文件
vim /etc/mha.cnf
[server default]
# mysql user and password
user=root
password=admin123
# working directory on the manager
manager_workdir=/var/log/masterha/app1
# manager log file
manager_log=/var/log/masterha/app1/app1.log
# working directory on MySQL servers
remote_workdir=/var/log/masterha/app1
[server1]
hostname=192.168.1.8
[server2]
hostname=192.168.1.9
#[server3]
#hostname=host3
11.检查ssh免密
sudo masterha_check_ssh --conf=/etc/mha.cnf
12.检查主备复制状态
masterha_check_repl --conf=/etc/mha.cnf
13.检查mha状态
masterha_check_status --conf=/etc/mha.cnf
14.运行 mha_manager
masterha_manager --conf=/etc/mha.cnf > /app/mysql57/mha/logs/mha-3307.log 2>&1 &
15.检查 mha 状态
masterha_check_status --conf=/etc/mha.cnf
16.停止 mha
masterha_stop --conf=/etc/mha.cnf
17.测试
# 停止主库
systemctl stop mysqld.service
# 查看日志
tail -f /var/log/masterha/app1/app1.log
# 登录从库查看数据主从状态
mysql -h 127.0.0.1 -uroot -P3306 -padmin123
show slave status\G;