keepalived 官网:https://www.keepalived.org/
Group Replication:https://dev.mysql.com/doc/refman/8.0/en/group-replication.html
Single-Primary Mode:https://dev.mysql.com/doc/refman/8.0/en/group-replication-single-primary-mode.html
Multi-Primary Mode:https://dev.mysql.com/doc/refman/8.0/en/group-replication-multi-primary-mode.html
MySQL Yum Repository:https://dev.mysql.com/downloads/repo/yum/
[ContOS] MySQL安装部署:https://blog.csdn.net/u011424614/article/details/94555816
[Windows] MySQL安装部署:https://blog.csdn.net/u011424614/article/details/102466819
CentOS7安装部署MySQL80:https://blog.csdn.net/u011424614/article/details/132418916
CentOS7部署MySQL80集群:https://blog.csdn.net/u011424614/article/details/133222091
CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916
| 机器名 | IP | 端口 |
|---|---|---|
| sys-cluster-01 | 192.168.249.131 | 3306、33061 |
| sys-cluster-02 | 192.168.249.132 | 3306、33061 |
| sys-cluster-03 | 192.168.249.133 | 3306、33061 |
在3 台服务器上启动MGR
/usr/local/mysql/var/lib/mysql/var/log/mysql/etc/mysqlroot 密码:Root@#123456# 创建安装目录
mkdir /opt/keepalived
cd /opt/keepalived
# 下载安装包
wget https://www.keepalived.org/software/keepalived-2.2.8.tar.gz --no-check-certificate
# 解压缩
tar -zxvf keepalived-2.2.8.tar.gz
cd keepalived-2.2.8/
# 安装依赖
yum -y install openssl-devel gcc-c++ libnl libnl-devel libnfnetlink-devel
# 安装 Keepalived
./configure --prefix=/opt/keepalived/ --sysconf=/etc
make && make install
# 创建脚本目录
mkdir /opt/keepalived/script
# 编辑检测脚本
vim /opt/keepalived/script/check_mysql_primary.sh
#!/bin/bash
# 设置 MySQL 连接参数
MYSQL_USER="root"
MYSQL_PASSWORD="Root@#123456"
MYSQL_DATABASE="performance_schema"
# 获取当前电脑的主机名和 IP 地址
HOSTNAME=$(hostname)
IP=$(hostname -I | awk '{print $1}')
# 查询 MySQL 中的主节点 host
PRIMARY_HOST=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SELECT MEMBER_HOST FROM $MYSQL_DATABASE.replication_group_members WHERE MEMBER_ROLE='PRIMARY';" -s)
# 检查主机名和 IP 是否与主节点匹配
if [ "$HOSTNAME" == "$PRIMARY_HOST" ]; then
exit 0
elif [ "$IP" == "$PRIMARY_HOST" ]; then
exit 0
else
exit 1
fi
chmod +x /opt/keepalived/script/check_mysql_primary.sh
router_id:服务器标识
interface:网卡(终端执行命令:ifconfig )
real_server:本机IP和端口
priority:master的优先级
unicast_src_ip 、unicast_peer:节点IP
cat > /etc/keepalived/keepalived.conf <cat > /etc/keepalived/keepalived.conf <cat > /etc/keepalived/keepalived.conf <cat > /etc/systemd/system/keepalived.service <systemctl daemon-reload
systemctl start keepalived.service
systemctl status keepalived.service
Keepalived_vrrp[80017]: (VI_1) Entering MASTER STATE
| 命令 | 功能 |
|---|---|
| systemctl start keepalived.service | 启动服务 |
| systemctl enable keepalived.service | 开机自启动 |
| systemctl status keepalived.service | 服务状态 |
| systemctl restart keepalived.service | 重启服务 |
| systemctl stop keepalived.service | 停止服务 |
| systemctl daemon-reload | 重新加载服务的配置文件 |