MySQL5.7.32 MHA 集群搭建
1.故障转移
2.尽可能保证数据一致性
该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)
Manager 工具 /usr/bin/masterha_
- masterha_check_ssh 检查 MHA 得 SSH 配置状况
- masterha_check_repl 检查 MYSQL 复制状况
- masterha_manager 启动 MHA(阻塞日志启动)
- masterha_stop 关闭 MHA
- masterha_check_status 检查当前 MHA 运行状态
- masterha_master_monitor 检测 master节点是否宕机
- masterha_master_switch 控制故障转移,(自动或者手动)
- masterha_conf_host 添加或者删除配置得 server 信息
一、 基础环境
首先要确保MySQL版本号、系统版本统一
查看MySQL版本号:
1、#mysql -V
2、登录数据库时,会有版本号提示
3、登录数据库中,执行
#mysql> select version();
查看系统版本号:
#cat /etc/redhat-release
(1) 关闭防火墙,或者放行数据库端口号
关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
(2) 拓扑结构
主机IP | 节点信息 | 数据库版本 | 系统版本 | 主机名 |
---|---|---|---|---|
192.168.16.187 | master | 5.7.32 | centos7.8 | localhost |
192.168.16.188 | slave_1(备用主) | 5.7.32 | centos7.8 | localhost |
192.168.16.189 | slave_2 | 5.7.32 | centos7.8 | localhost |
192.168.16.190 | manager | 5.7.32 | centos7.8 | localhost |
yum安装MySQL5.7参考链接:https://blog.csdn.net/weixin_47593552/article/details/111604643
1、MySQL主从配置文件 /etc/my.cnf
Master /etc/my.cnf
[mysqld]
server-id=1 #ID号必须唯一
log-bin=mysql-bin #开启二进制日志
relay-log=mysql-relay #开启中继日志
log-slave-updates=true #允许从服务器进行更新
gtid-mode=ON #开启GTID
enforce-gtid-consistency=ON
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
slave_1 /etc/my.cnf
[mysqld]
server-id=2 #ID号唯一
relay-log=mysql-relay #开启中继日志
log-bin=mysql-bin #开启二进制日志
gtid-mode=ON #开启GTID
enforce-gtid-consistency=ON
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
slave_2 /etc/my.cnf
[mysqld]
server-id=3 #ID号唯一
relay-log=mysql-relay