在CentOS 7上部署MySQL 8和Keepalived实现双主热备高可用的步骤如下:
-
安装MySQL 8:
-
在终端中执行以下命令,安装MySQL 8的官方Yum存储库:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
-
安装MySQL服务器:
sudo yum install mysql-server
- 配置MySQL,包括设置密码和其他安全设置。
-
启动MySQL服务:
sudo systemctl start mysqld
-
运行MySQL安全脚本,进行必要的安全性配置:
sudo mysql_secure_installation
-
-
安装Keepalived:
-
在终端中执行以下命令,安装Keepalived:
sudo yum install keepalived
- 配置Keepalived,包括虚拟IP(VIP)的设置和监控脚本的编写。
-
-
配置MySQL主从复制:
-
在MySQL的主服务器上,编辑MySQL配置文件(my.cnf),启用二进制日志(binary log)和GTID(全局事务标识):
server_id = 1 log_bin = /var/lib/mysql/mysql-bin.log gtid_mode = ON enforce_gtid_consistency = ON
-
在MySQL的主服务器上,创建用于复制的用户,并授予相应的权限:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
-
在MySQL的主服务器上,查看并记录二进制日志文件名和位置:
SHOW MASTER STATUS;
-
在MySQL的从服务器上,编辑MySQL配置文件,设置主服务器的连接信息和复制参数:
server_id = 2 gtid_mode = ON enforce_gtid_consistency = ON log_bin = /var/lib/mysql/mysql-bin.log relay_log = /var/lib/mysql/mysql-relay-bin.log
-
在MySQL的从服务器上,启动复制进程并连接到主服务器:
CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1; START SLAVE;
-
验证主从复制是否正常运行:
SHOW SLAVE STATUS;
-
-
配置Keepalived的主备模式:
- 编辑Keepalived的配置文件(/etc/keepalived/keepalived.conf),设置虚拟IP和监控脚本的相关配置。
-
在主服务器上启动Keepalived服务:
sudo systemctl start keepalived
-
在备服务器上启动Keepalived服务:
sudo systemctl start keepalived
通过以上步骤,你可以在CentOS 7上部署MySQL 8和Keepalived,实现双主热备高可用的环境。请注意,根据具体的需求和环境,可能需要进行其他配置和调整。建议参考MySQL和Keepalived的官方文档或安装指南,获取更详细的信息和指导。