行业资讯 2025年08月6日
0 收藏 0 点赞 205 浏览 1386 个字
摘要 :

文章目录 为什么需要MySQL集群部署 一、MySQL集群主从同步与读写分离原理 1. 数据同步 2. 读写分离 3. 数据切分 二、docker搭建双主四从MySQL集群 三、安装MyCat管理M……




  • 为什么需要MySQL集群部署
  • 一、MySQL集群主从同步与读写分离原理
    • 1. 数据同步
    • 2. 读写分离
    • 3. 数据切分
  • 二、docker搭建双主四从MySQL集群
  • 三、安装MyCat管理MySQL集群
  • 总结

本文主要讲解关于MySQL集群部署相关内容,让我们来一起学习下吧!

为什么需要MySQL集群部署

原因:单节点的MySQL抗风险性很差,如果挂掉,会导致软件项目挂掉

目标:搭建一个高可用、高负载、高性能的6节点MySQL集群(根据你的数据量判断)

环境:CentOS7服务器、搭建好Docker环境、MySQL5.7(8.0版本宕机后需要人工对比日志和维护)、MyCat 1.6.7.4

一、MySQL集群主从同步与读写分离原理

1. 数据同步

MySQL主从同步原理是利用主从复制来实现数据同步。具体步骤如下:

  1. 主数据库(Master)把数据更改记录到二进制日志(binlog)中。
  2. 从数据库(Slave)把主数据库的二进制日志复制到自己的中继日志(relay log)中。
  3. 从数据库重做中继日志中的日志,把更改应用到自己的数据库上,以达到数据的最终一致性。

MySQL集群部署详解

如果这样会发现一个问题,这是单向的同步,如果Master挂掉,那么Slave则无法继续更新数据,所以应该是双向同步,互为主从节点。MySQL集群部署详解

2. 读写分离

MySQL的读写分离是一种集群架构策略,目的是通过将数据库的读写操作分离到不同的服务器上,以提高整体数据库性能和并发负载能力。

在读写分离的策略中,主库负责处理事务性查询和写操作(INSERT、UPDATE、DELETE等),而从库只负责处理SELECT查询操作。这样可以使主从库分工明确,提高整体数据库性能。

主库除了处理事务性查询和写操作外,还需要将事务性操作导致的变更同步到从库中,以保证数据的一致性。这个过程一般通过主从复制(Master-Slave)的方式实现。

读写分离在数据库集群架构中有很多应用场景,比如当服务器的业务压力过大时,如果对该服务器既读又写,会影响用户体验。这时候就可以采取读写分离的方式,对只读库(配置低一点),对读写库(配置高速存储:固态硬盘等)进行分离。既可以提高查询效率,又可以保证数据的一致性。MySQL集群部署详解

上面的方案时一主两从,主节点是写节点,从节点是读节点,当然也可以配置更多的节点,主从同步还有一个关键,就是Master和Slave身份是固定的,如果Master宕机,Slave节点无法升级成写节点,所以,可以加上双向同步。MySQL集群部署详解

3. 数据切分

MySQL数据切分是指通过某种特定的条件,将存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。

数据的切分根据其切分规则的类型,可以分为两种切分模式:
一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切分可以称之为数据的垂直(纵向)切分;

另外一种则是根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上,这种切分称之为数据的水平(横向)切分。

二、docker搭建双主四从MySQL集群

直接阅读《Docker如何搭建双主四从MySQL集群》这篇文章!

三、安装MyCat管理MySQL集群

直接阅读《如何安装MyCat并管理MySQL集群》这篇文章!

总结

以上就是关于MySQL集群部署相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客,学习愉快哦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9776.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号