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

MySQL集群

   

目录

主从复制 

主从复制流程:

 为什么要有relay log中继日志?

为什么要有主从复制,好处?

   

实际生产环境中。如果对MySQL数据库的读写都在一台数据库服务器中操作,无论是再安全性、高可用性,还是高并发性等方面都不能满足实际需求,一般要通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。

        1、数据备份 - 热备份&容灾&高可用

        2、读写分离,支持更大的并发

主从复制 

          主从复制的流程:两个日志(binlog二进制日志&relay log日志)和三个线程(master的一个线程和 slave的二个线程)

主从复制流程:

        1. 主库更新操作写入binlog二进制日志中,主库是要开启二进制日志的;

        2. master服务器创建一个binlog转存线程,将二进制日志发送到slave服务器;

        3. slave服务器执行START SLAVE命令会在slave服务器创建一个IO线程,接收master服务器的binary log数据并复制到relay log(中继日志)

        首先slave开始一个工作线程(I/O线程),I/O线程在master上打开一个普通的连接,然后开始 binlog dump process, binlog dump process从master的二进制日志中读取事件,如果已经跟上 master,它会睡眠并等待master产生新的事件,I/O线程将这些事件写入中继日志。

        4. sql slave thread(sql从线程)处理该过程的最后一步,sql线程从中继日志中读取事件,并重放其 中的事件而更新slave机器的数据,使其与master的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于os缓存中,所以中继日志的开销很小。

 为什么要有relay log中继日志?

        主要是为了保证数据的一致性和可靠性。主库发过来的二进制日志数据会存到从库的relay log上,并在后续的过程中应用这些操作到自己的数据库中。

        避免因网络故障、从库宕机等原因导致数据丢失或数据不一致的问题。

        从库出现故障导致数据丢失或者不一致,可以通过relay log来重新同步数据。

为什么要有主从复制,好处? 

        1. 可以实现数据备份

        可实现热备份,可通过数据库中间件mycat可直接配置热备份容灾,主库挂掉之后,mycat会自动将请求映射到从库,由从库继续对外提供服务。

        容灾:系统出现故障或异常情况时,能够保持系统的可用性和稳定性,避免系统崩溃或数据丢失。

        高可用:指系统或服务在出现故障或异常情况时,能够保持正常的运行状态,不会导致系统的崩溃或数据的丢失,从而保证业务的连续性和可靠性。

        2. 读写分离 

        实际应用中更多的是读操作,主库专门用来做数据的修改,主库通过主从复制通过bin log同步到从库上去,客户端查询的请求最终映射到从库上,一般来说一个主库可带上从库的数量根据网络以及硬件来确定,主库做数据更新存储数据,从库专门用来进行读操作,分摊读写压力。

http://www.lryc.cn/news/67104.html

相关文章:

  • 关于Kerberos认证的一些攻击手法学习总结
  • STL-deque容器
  • ❤ go语言和java语言的优缺点
  • 安全成就未来|Fortinet Accelerate 2023·中国区巡展首站启幕
  • 输入URL到显示界面的整个过程
  • BetaFlight飞控启动运行过程简介
  • 智能汽车实验二(视觉传感器标定)
  • 计算机网络:HTTP
  • Go 语言接口
  • 常用的intellij的快捷键
  • Unity中的`SetPositionAndRotation()`
  • API 接口的使用和功能
  • Vue插件
  • C++好难(5):内存管理
  • vue-admin-template中vue动态路由不显示问题解决
  • IP协议介绍
  • 将一个单体服务重构成微服务
  • SpringBoot项目如何打包成exe应用程序
  • 一文读懂:客户管理系统平台是什么?有什么作用?
  • Node.js 与 TypeScript
  • Python并发编程之进程理论
  • 超级详细的mysql数据库安装指南
  • Java并发编程实践学习笔记(三)——共享对象之发布和异常
  • Python学习之Image模块图片滤镜效果操作示例
  • Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板
  • MySQL---控制流函数、窗口函数(序号函数、开窗聚合函数、分布函数、前后函数、头尾函数、其他函数)
  • 一心报国的西工大网安人走出新手村
  • 如何安装oracle的sample schema
  • ChatGPT :国内免费可用 ChatGPT +Midjourney绘图
  • 女孩子转数据分析难吗?难在哪里?