lnmp架构-mysql2

4.mysql 组复制集群

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

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

在server1上

 

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

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

 

 

 在server2 上

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

 

 

 

 在server3上

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

 

 

 

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

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

server1上

 

 server2上

 server3 上

 此时 server1 server2 server3 数据都同步

5 mysql 读写分离

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

在server4上

 

 

 

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

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

在11 上

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

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

在server4上第一次连接

 第一次是server4 与server1连接

 在server4上第二次连接

此时 server1 不与server4连接

 

 server2 与server4 连接

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

在server4上第一次执行

 第一次是server4与server3 连接

 当server3 挂掉之后

 第二次在server4 上执行语句

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

6 mysql 高可用架构

创建一主两从集群

在master端 

先关闭mysql 服务

/etc/init.d/mysqld stop
 

 

 

在slave端

先关闭mysql 服务

/etc/init.d/mysqld stop

 

其他节点以此内推

测试

在master端

 在slave端

server2

 server3

 MHA部署

在server4 上安装管理端软件

 管理端配置ssh免密

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

 

 复制客户端软件

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

 

 MHA配置

 

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

检测各节点ssh免密连接

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

检测主从复制集群状态

 

至此 实验环境配置完毕

 mysql 高可用故障切换

手动切换  在当前主从状态都完好的情况

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

检测

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

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

这个时候就要切换一下

在管理端

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

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

12 怎么恢复呢

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

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

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

此时 停掉11 上的master服务

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

此时 13会重新指向新的master

修复11

在11 上开启服务

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

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

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

测试

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

第一次需要手动添加

此时 停掉master上的服务

在14上查看日志

从12上又成功切换到11

那12 就得变回slave

手动恢复

​​​​​​​以上是自动切换 再来一个手动切换

手动切换不生成锁定文件

VIP会随着master 漂移

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/92117.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 8.1.0 推出 InnoDB Cluster 只读副本

全面了解 8.1.0 版本新功能:InnoDB Cluster 只读副本的相关操作。 作者:Miguel Arajo 高级软件工程师 / Kenny Gryp MySQL 产品总监 本文来源:Oracle MySQL 官网博客 * 爱可生开源社区出品。 前言 MySQL 的第一个 Innovation 版本 8.1.0 已…

在云原生时代,构建高效的大数据存储与分析平台

文章目录 1. **选择适当的数据存储技术:**2. **采用分布式架构:**3. **数据分区和索引:**4. **采用列式存储:**5. **数据压缩和编码:**6. **使用缓存技术:**7. **数据分片和复制:**8. **自动化运…

1.2 数据库系统结构

思维导图: 学习目标: 学习数据库系统结构是一个结构性和系统性的过程。如果是我,我会采用以下策略: 1. **确定目标和动机**: - 明确为什么要学习数据库系统。是为了应对工作的需求、为了研究还是出于兴趣&#xf…

Docker私有镜像仓库(Harbor)安装

Docker私有镜像仓库(Harbor)安装 1、什么是Harbor Harbor是类似与DockerHub 一样的镜像仓库。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。Docker容器应用的…

Jenkins测试报告样式优化

方式一:修改Content Security Policy(临时解决,Jenkins重启后失效) 1、jenkins首页—>ManageJenkins—>Tools and Actions标题下—>Script Console 2、粘贴脚本输入框中:System.setProperty("hudson.model.Directo…

Oracle的学习心得和知识总结(二十九)|Oracle数据库数据库回放功能之论文三翻译及学习

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

关于 MySQL、PostgresSQL、Mariadb 数据库2038千年虫问题

MySQL 测试时间:2023-8 启动MySQL服务后,将系统时间调制2038年01月19日03时14分07秒之后的日期,发现MySQL服务自动停止。 根据最新的MySQL源码(mysql-8.1.0)分析,sql/sql_parse.cc中依然存在2038年千年虫…

傅里叶变换(FFT)笔记存档

参考博客:https://www.luogu.com.cn/blog/command-block/fft-xue-xi-bi-ji 目录: FFT引入复数相关知识单位根及其相关性质DFT过程(难点)DFT结论(重要)IDFT结论(重要)IDFT结论证明&…

Apipost:API文档、调试、Mock与测试的一体化协作平台

随着数字化转型的加速,API(应用程序接口)已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中,API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台,旨在解决这些问题&#xf…

基于ssm+vue舞蹈网站的设计与实现

基于ssmvue舞蹈网站的设计与实现111 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技…

Redis进阶 - JVM进程缓存

原文首更地址,阅读效果更佳! Redis进阶 - JVM进程缓存 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-advance-jvm-process-cache.html 传统缓存的问题 传统的缓存策略一般是请求到达 Tomcat 后,先查询 Redis &…

7 集群基本测试

1. 上传小文件到集群 在hadoop路径下执行命令创建一个文件夹用于存放即将上传的文件: [atguiguhadoop102 ~]$ hadoop fs -mkdir /input上传: [atguiguhadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/work.txt /input2.上传大文件 [atguiguhadoop1…