lnmp架构-mysql2

4.mysql 组复制集群

首先对所有的节点重新初始化  因为对节点的数据一致性要求非常高

主从复制的时候 slave只会复制master的binlog日志 就是二进制日志 不会复制relay_log

每个节点都可以做 master和slave

在server1上

 

 根据实际情况修改主机名和网段

 log_slave_update=ON 意思就是 当slave的sql线程做完之后读取relay_log 中继回放之后  slave端自己也写份二进制日志

 

 

 在server2 上

 根据实际情况修改主机名和网段

 

 

 

 在server3上

 根据实际情况修改主机名和网段

 

 

 

一主多从的请求 通常是读的请求高于写   但是写的请求很高 每个节点都可以进行读写 这是分布式必须通过(多组模式)集群的方式进行横向扩容

测试 :所有节点都可以写数据

server1上

 

 server2上

 server3 上

 此时 server1 server2 server3 数据都同步

5 mysql 读写分离

 路由类似于代理 ,此实验组复制集群有三个节点 当外部应用在连接这个集群的时候,如果只连接其中一个节点,如果这个节点挂了,所以就得把它负载到其他节点,mysql 路由器 负责负载后端的节点

在server4上

 routing_strategy= round-robin  第一个访问11 第二个访问12 第三个访问13

 routing_strategy=first-available 第一个可用的话 就不会后面的 当第一个挂掉之后 才会到后面去

 

 

 在mysql集群中创建远程测试用户

因为组复制集群 所以12 13 也会创建远程测试用户

在11 上

 在server 1 2 3 上分别安装软件

 7001是只读权限 顺序是11 12 13

在server4上第一次连接

在server4 上安装mysql客户端工具

[root@server4 ~]# yum install -y mariadb

 第一次是server4 与server1连接

 在server4上第二次连接

此时 server1 不与server4连接

 

 server2 与server4 连接

 7002端口 读写权限 调度列表顺序为13 12 11

在server4上第一次执行

 第一次是server4与server3 连接

 当server3 挂掉之后

 第二次在server4 上执行语句

 此时 按照调度顺序 server4 与server2连接

6 mysql 高可用架构

 master挂掉之后 slave自动接管 另外一个slave会自动连接到新的master

创建一主两从集群

在master端 

先关闭mysql 服务

/etc/init.d/mysqld stop
 

 mysql 主从复制的时候 slave复制的是master端的二进制日志 

slave会把二进制日志写到relay_log里  所以log_slave_updates=ON意思就是会把relay_log里的日志写到二进制日志里 生成属于自己的二进制日志

 

在slave端

先关闭mysql 服务

/etc/init.d/mysqld stop

 

其他节点以此内推

测试

在master端

 在slave端

server2

 server3

 首先 做出来一个一主两从的架构  

然后在做一个管理端 在server4 上

MHA部署

在server4 上安装管理端软件

 管理端配置ssh免密

管理端能免密连接所有被控节点

 

 复制客户端软件

在server1 server2 server3 上安装客户端软件 

 

 MHA配置

 no_master=1 这个server3上不可能做master 只能做slave 

check_repl_delay=0 不要检测延迟性 落后多久都可以 可以等

 每个节点上也必须要有免密连接

检测各节点ssh免密连接

在master上设置mysql 管理员权限,slave节点会自动同步

检测主从复制集群状态

 

至此 实验环境配置完毕

 mysql 高可用故障切换

手动切换  分为两种情况 一种是master活着 另一种是master 挂掉

在当前主从状态都完好的情况

master正常 12会接管11成master 原始的master会变成新的slave

检测

此时 在11 13 上指向的master都是12

当这个server2 这个master挂掉之后,这个时候slave就连不上去

这个时候就要切换一下

在管理端

当前是手工切换 没有生成锁定文件

执行完命令之后 快速变成了一个一主一从的架构  11 变成新的master  13 指向的11

12 怎么恢复呢

故障节点需要手动修复,重新加入主从集群

自动切换
故障切换后会生成lock文件,需要手动删除

在进行自动切换之前,必须保证主从集群正常,一主两从

此时 停掉11 上的master服务

此时 在管理端 master端会从11 变成12 并且生成一个锁定文件

此时 13会重新指向新的master

修复11

在11 上开启服务

这样就又构成了 一主两从 12 是master     11 13 是slave

======================================================

加入故障切换脚本和在线切换脚本

192.168.25.100 确保这个IP没有人用

测试

测试之前一定要删除lock文件

此时 12 是master  谁是 master  vlp 跟着master走

第一次需要手动添加

此时 停掉master上的服务

在14上查看日志

从12上又成功切换到11

那12 就得变回slave

手动恢复

以上是自动切换   删掉日志文件和锁定文件

再来一个手动切换

手动切换不生成锁定文件

VIP会随着master 漂移

猜你喜欢

转载自blog.csdn.net/weixin_59945551/article/details/132544261