Lnmp架构之mysql数据库实战2-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
4、mysql组复制集群
一主多从的请求通常是读的请求高于写 但是如果写的请求很高要求每个节点都可以进行读写这时分布式必须通过多组模式集群的方式进行横向扩容。
组复制对节点的数据一致性要求非常高因此要对所有的节点重新进行初始化
编辑配置文件根据实际情况修改主机名和网段
在server2上
只修改id和主机名
在server3上
根据实际情况修改id和主机名
在server1上查看组复制中的成员
测试所有节点都可以写入数据
在server1上
在server2上
在server3上
5、mysql读写分离
延迟复制
如果在master端误操作可以在slave端进行数据恢复只需要停掉sql线程
延迟只是延迟了sql IO已经复制过来了 数据已经在中继日志里保存起来了只不过sql没有进行回放。
路由类似于代理 此实验组复制集群有三个节点 当外部应用在连接这个集群的时候如果只连接其中一个节点如果这个节点挂了所以就得把它负载到其他节点mysql 路由器 负责负载后端的节点。
在server4上
routing_strategy= round-robin 第一个访问11第二个访问12第三个访问13
routing_strategy=first-available 第一个可用的话就不会后面的当第一个挂掉之后才会到后面去
在mysql集群中创建远程测试用户
因为组复制集群所以server2server3上也会同步创建远程测试用户
在server1上
在server123上分别安装软件
7001端口是只读权限顺序是111213
当在server4上进行第一次执行时
server1与server4建立连接
在server4上进行第二次执行时
server1会与server4断开连接server2与server4建立连接
7002端口为读写权限调度列表顺序为131211
在server4上第一次执行
与server3建立连接
当挂掉server3时
在server4上进行第二次执行则会与server2建立连接
6、mysql高可用架构
重新创建一主两从集群在master端关闭mysql服务 /etc/init.d/mysqld stop
删除mysql文件,修改主配置文件重新初始化
master端重新初始化并建立用户
在slave端同样重新进行初始化其他节点以此类推
测试
在master端
在slave端
server2
server3
一主两从架构完成进行MHA部署
做一个管理端在server4上
在server4上安装管理软件
管理端配置ssh免密传输免密连接所有被控节点
复制客户端软件
在server1sever2server3上安装客户端软件
工具包
MHA配置
注释需要删除
每个节点上也必须要有免密连接检测各节点的ssh免密连接
在master端设置mysql管理员权限slave节点自动同步
检测主从复制集群状态
实验环境搭建完成。
7、mysql高可用切换
1手动切换
master正常时12会接管11成为master原始的master会变成新的slave
检测11和13都指向的master是12
当停掉server2这个masterslave就无法进行连接
在管理端
11重新变成master快速变成了一个一主一从的架构
12如何恢复成slave
需要手动修复重新加入主从集群
2自动切换主从集群正常一主两从
故障切换后会生成lock文件需要手动删除
此时停掉server1上的mysql
自动切换成功在13上可查看
修复11在11上打开服务
此时又构成了一主两从架构12是master1113是slave
最后删除管理端因为故障切换生成的的lock文件以避免影响后面的操作
加入故障切换和在线切换脚本并对其做出相应的修改
测试
查看管理端日志重新切换成功
恢复12的slave端
手动恢复
再进行一次手动切换
删除自动切换生成的锁定文件
手动切换不会生成锁定文件VIP会随着master的改变而漂移