项目名称:构建高可用的MySQL主从复制集群
项目环境:5台2c/4G的服务器(虚拟机),centos7.9,mysql 5.7.33 ,keepalive,MySQLroute
拓扑图
1.完成异步复制
###永久关闭防火墙
###关闭selinux
master的配置
1.创建用来复制二进制日志的用户
2.授予权限
3.进行全备
4.将全备发送给slave
5.开启二进制日志并设置server_id
6.重启MySQL服务
7.生成新的二进制日志
slave配置
1.导入备份
2.开启二进制日志设置serverid
3.进行设置
MASTER_USER是先前创建获取二进制日志文件的用户
MASTER_PASSWORD是先前创建获取二进制日志文件的用户的密码
MASTER_PORT端口号
MASTER_LOG_FILE二进制日志文件名
MASTER_LOG_POS位置号
4.重启slave服务
5.查看OI和SQL端口是否开启
显示YES就成功了
2.部署基于Gtid的主从复制
master配置
enforce_gtid_consistency 保证GTID安全的参数强制gtid一致性,开启后对于特定create table不被支持
slave配置
1.关闭slave服务
2.清除master
3.配置gtid
4.重启slave服务,并且查看IO与sql端口是否开启成功
至此基于GTID的主从复制完成
3.配置读写分离
####配置中间件
1.拿出一台新的centos7主机作为中间件,下载MySQLroute并安装
2.关闭防火墙和selinux
3.刷新系统配置文件
4.进行中间件的配置
重启MySQLrouter服务
5.检查7001和70002是否开启
listen代表开启成功
6.在master上创建用户分别授予读写和只读权限
7.测试连接
所连接的时mysqlrouter ,划分权限的依靠用户所被授 予的权限,端口不能限制权限
8.重开一台客户机验证权限
可读写用户
只读用户
读写分离完成
4.配置双vip
1.在2个中间件都安装keepalive
2.更改keepalive的配置
中间件1的配置
中间件2的配置
实际配置
由于是双VIP,此处我们需要配置两个vip,让master和 backup互为主主,最大的利用资源
做master - - - VI_1
删除从virtual server开始的所有(从这里开始主要是 keepalived的负载均衡作用,此次我们只使用keepalived的高可用)
注释 vrrp_strict # vrrp_strict
修改状态为backup state MASTER
修改网络接口与本机一致 - - - 一致则不用修改 interface eth33
修改virtual_router_id — 一致
修改优先级 - - -优先级高于backup
修改虚拟ip地址vip - - - 一致
做backup - - - VI_2
修改vrrp_instance 为 VI_2
修改状态为backup state BACKUP
修改网络接口与本机一致 - - - 一致则不用修改 interface eth33
修改virtual_router_id — 一致
修改优先级 - - - 优先级低于master
修改虚拟ip地址vip - - - 一致
3.关防火墙并重启keepalive服务
4.检验结果
此时双VIP已完成