当前位置: 首页 > news >正文

Lnmp架构之mysql数据库实战2

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集群中创建远程测试用户

因为组复制集群,所以server2,server3上也会同步创建远程测试用户

在server1上

在server1,2,3上分别安装软件

7001端口是只读权限,顺序是11,12,13

当在server4上进行第一次执行时

server1与server4建立连接

在server4上进行第二次执行时

server1会与server4断开连接,server2与server4建立连接

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

在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免密传输,免密连接所有被控节点

复制客户端软件

在server1,sever2,server3上安装客户端软件

工具包

MHA配置


注释需要删除

每个节点上也必须要有免密连接,检测各节点的ssh免密连接

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

检测主从复制集群状态

实验环境搭建完成。

7、mysql高可用切换

(1)手动切换

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

检测(11和13都指向的master是12)

当停掉server2这个master,slave就无法进行连接

在管理端

11重新变成master,快速变成了一个一主一从的架构

12如何恢复成slave

需要手动修复,重新加入主从集群

(2)自动切换(主从集群正常,一主两从)

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

此时,停掉server1上的mysql

自动切换成功,在13上可查看

修复11,在11上打开服务

此时,又构成了一主两从架构,12是master,11,13是slave

最后,删除管理端因为故障切换生成的的lock文件,以避免影响后面的操作


加入故障切换和在线切换脚本并对其做出相应的修改

测试

查看管理端日志,重新切换成功

恢复12的slave端

手动恢复

再进行一次手动切换

删除自动切换生成的锁定文件

手动切换不会生成锁定文件,VIP会随着master的改变而漂移

相关文章:

  • 学习windows系统让python脚本在后台运行的方法
  • Java如何解决浮点数计算不精确问题
  • 从零开始之了解电机及其控制(10)空间矢量理论
  • 代理IP与Socks5代理:跨界电商之安全防护与智能数据引擎
  • Leetcode.2522 将字符串分割成值不超过 K 的子字符串
  • 【数据结构--八大排序】之归并排序
  • C++qt Day10
  • 【C++杂货铺】一颗具有搜索功能的二叉树
  • EPICS教程4-- 在Windows上安装EPICS base
  • oracle 乱码(编码为AMERICAN_AMERICA.US7ASCII)问题解决
  • 高云FPGA系列教程(9):cmd-parser串口命令解析器移植
  • QT day3
  • 如何一键提取微信背景图?
  • 【c语言】贪吃蛇
  • 【面试必刷TOP101】寻找峰值 数组中的逆序对
  • ARM/X86工控机在轨道交通交通管理系统的应用(4)
  • 实现注册手机号用户
  • JDK21新特性 有序集合
  • C语言字符和字符串函数(2)
  • 最新ChatGPT网站系统源码+支持GPT4.0+支持AI绘画Midjourney绘画+支持国内全AI模型
  • 世界读书日|南京图书馆开了首个网络文学主题阅读空间
  • 南方将迎三轮降雨,两广旱区的“解渴雨”也要来了
  • 中办、国办印发《农村基层干部廉洁履行职责规定》
  • 文理医工“四轮驱动”,复旦六大新工科创新学院核心团队均亮相
  • 轻流科技薄智元:AI时代,打造“工业智造”需要“共生式进化”
  • 王健林出售酒店管理业务的资金如获批,可用于向全体股东分红