iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL读写分离原理是什么
  • 500
分享到

MySQL读写分离原理是什么

2023-07-02 17:07:32 500人浏览 八月长安
摘要

这篇文章主要讲解了“MySQL读写分离原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql读写分离原理是什么”吧!一、读写分离的概念读写分离是基于主从复制来实现的。在实际的应用

这篇文章主要讲解了“MySQL读写分离原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql读写分离原理是什么”吧!

一、读写分离的概念

读写分离是基于主从复制来实现的。在实际的应用环境中,肯定是读操作多,就像我们在电商平台上去购买东西,可能看了100个也就买了一两个。所以读操作永远比写这种更新操作多很多。所以我们基于主从复制的读写分离配置,就是让一个主库专门用来做数据的修改,写的时候专门在主库上写,主库通过主从复制把数据的更改通过binlog同步到从库上去,那么其他的客户端查询的请求都会最终映射到从库上去,而我们一个主库带上两三个从库,主库专门用来做数据的更新(写操作),从库专门用来做读操作这样一来可以很好的分摊读写的压力,不用全部都集中在主库上,对于后端服务的并发处理能力有很大的提高,另外就是它的高可用容灾,当主库挂了以后,可以把指定的从库变成主库。

MySQL读写分离原理是什么

mysql client通过mysql 提供的api,用mysql自定义的基于tcp的数据协议(简称mysql协议)与MySQL Server通信,访问MySQL Server数据库

如果只有一台服务器(单机环境),所有数据的增删改查都是在一台服务器上进行,随着我们的服务被越来越多的人使用,流量逐渐变大,需要并发能力逐渐提升,所以如果我们发现数据库性能到瓶颈了,我们可以做读写分离操作,提高后台服务。

MySQL读写分离原理是什么

图中的MySQL主服务器专门做写操作,下面连着2个MySQL从服务器专门做读操作,读请求转发到B、C,写请求转发到A。

如果我们在客户端上直接用代码写死,insert、update等写操作在A上做,show、select等读操作在B、C上做,相当于代码和主从环境就是强绑定的。这就导致代码的稳定性不太好,因为和环境强相关了,我们写代码得时候必须得知道哪个机器是负责写操作的主库,哪个机器是负责读操作的从库,由代码来选择。而这时如果有某个机器挂掉了,代码也不会知道,还是按照原来的方式转发请求,通信就会出现问题,所以把读写分离用代码实现肯定不合适。所以在实际的解决方案中,读写分离需要依赖数据库的中间件

二、引入中间件MyCat

实际上,读写分离,分库分表都是需要依赖数据库中间件(mycat),mycat就是代理服务器的角色。

MySQL读写分离原理是什么

客户端实际上区分不出来连的是MyCat还是MySQL,因为通信都是遵守的是MySQL通信协议,之前怎么和MySQL通信,现在就怎么和MyCat通信,所以不用进行区分。

在MyCat上配置读写分离,我们在客户端上的代码不用做任何变更,代码上不需要区分哪个请求是读,哪个请求是写,代码直接访问的是MyCat,由MyCat解析请求,根据SQL的读写性质转发到负责相应操作的服务器,实现读写分离。

在MyCat上需要配置主服务器和从服务器的信息,有3种情况:一主一从、一主多从、多主多从

一主多从场景:当写库(master)挂了,MyCat还可以马上把一个从库(slave)直接变成一个写库(master),那相当于又回到一台机器的处理,因为从库和从库之间并没有主从复制的配置,所以我们还需要把变成写库的从库还要和其他从库之间配置一下主从复制。

多主多从:

MySQL读写分离原理是什么

可以看到图中,MyCat服务器挂了两套环境,如果其中1套的主库宕机了(它对应的从库也就不能用了),此时MyCat会自动切到另一套环境,因为M1和M2之间也是配置成互为主从的,所以M2可以同步M1的数据,提供与M1环境完全相同的服务,所以它的高可用容灾能力是非常不错的。

三、MyCat服务端口和管理端口

MySQL的服务端口是3306,MyCat服务端口是8066(这个端口也是可以改的),也就是MySQL Client连接的是8066端口,登录8066端口看到的界面就和登录MySQL Server的3306端口一样。MyCat还有一个管理端口9066,登录这个管理端口可以查看MyCat正在工作的所有状态以及和后端服务器的连接,以及连接数据源的状态等。

感谢各位的阅读,以上就是“MySQL读写分离原理是什么”的内容了,经过本文的学习后,相信大家对MySQL读写分离原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL读写分离原理是什么

本文链接: https://www.lsjlt.com/news/343523.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL读写分离原理是什么
    这篇文章主要讲解了“MySQL读写分离原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL读写分离原理是什么”吧!一、读写分离的概念读写分离是基于主从复制来实现的。在实际的应用...
    99+
    2023-07-02
  • MySQL读写分离基本原理是什么
    本篇内容主要讲解“MySQL读写分离基本原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL读写分离基本原理是什么”吧!一、读写分离工作原理在一些...
    99+
    2022-10-19
  • MySQL读写分离原理详细解析
    目录一、读写分离的概念二、引入中间件MyCat三、MyCat服务端口和管理端口一、读写分离的概念 读写分离是基于主从复制来实现的。在实际的应用环境中,肯定是读操作多,就像我们在电商平台上去购买东西,可能看了100个也就买...
    99+
    2022-07-14
    MySQL读写分离原理 MySQL读写分离
  • mysql读写分离的作用是什么
    这篇文章将为大家详细讲解有关mysql读写分离的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、说明是让主数据库处理事务性增、改、删操作,而从数据库处理SELECT查询操作。数据...
    99+
    2023-06-15
  • MySQL主从复制与读写分离的原理
    这篇文章主要为大家分享MySQL主从复制与读写分离的原理。文中还介绍了如何配置和验证主从复制与读写分离的实验,希望大家通过这篇文章能有所收获。MySQL主从复制与读写分离一、前言前面我们已经对MySQL数据...
    99+
    2022-10-18
  • MySQL中的主备、主从和读写分离的原理
    本篇内容介绍了“MySQL中的主备、主从和读写分离的原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、...
    99+
    2022-10-18
  • 怎么实现mysql读写分离
    这篇文章主要介绍“怎么实现mysql读写分离”,在日常操作中,相信很多人在怎么实现mysql读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现mysql读写分离”...
    99+
    2022-10-19
  • 腾讯云TDSQL基本原理-读写分离
    当处理大数据量读请求的压力大、要求高时,可以通过读写分离功能将读的压力分布到各个从节点上。 TDSQL MySQL版 默认支持读写分离功能,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由网关集群(TProxy)自动分配到低负载...
    99+
    2014-07-13
    腾讯云TDSQL基本原理-读写分离
  • MySQL主从复制与读写分离原理及用法详解
    本文实例讲述了MySQL主从复制与读写分离原理及用法。分享给大家供大家参考,具体如下: 主从复制 概念 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的...
    99+
    2022-10-18
  • 怎么理解Mycat读写分离
    这篇文章主要介绍“怎么理解Mycat读写分离”,在日常操作中,相信很多人在怎么理解Mycat读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解Mycat读写分离”...
    99+
    2022-10-18
  • mysql服务器怎么做读写分离
    mysql服务器属性读写分离的有以下几种利用查询实现读写分离最简单的分离方法是将所有不能容忍脏数据的读和写查询分配到主动或主库服务器上;其他的读查询分配到备库或被动服务器上;该策略很容易实现,但事实上无法.有效地使用备库,因为只有很少的查询...
    99+
    2022-10-22
  • redis读写分离有什么优势
    这篇文章将为大家详细讲解有关redis读写分离的优势,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis读写分离优势透明兼容      ...
    99+
    2022-10-18
  • 使用MySQL-Proxy读写分离时需要注意什么
    这篇文章主要介绍“使用MySQL-Proxy读写分离时需要注意什么”,在日常操作中,相信很多人在使用MySQL-Proxy读写分离时需要注意什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-18
  • 使用Mycat怎么实现MySQL读写分离
    今天就跟大家聊聊有关使用Mycat怎么实现MySQL读写分离,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。搭建环境操作系统:CentOS-6.5-x...
    99+
    2022-10-18
  • 使用Django怎么实现MySQL读写分离
    本篇文章为大家展示了使用Django怎么实现MySQL读写分离,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。主从同步介绍和优点在多台数据服务器中,分为主服务器和从服...
    99+
    2022-10-18
  • 浅析php+mysql怎么实现读写分离
    MySQL作为目前最流行的数据库之一,在应用中大量被使用。在高并发和数据量较大的情况下,由于MySQL的读写并发性能不足,为了提高MySQL的并发性能,读写分离成为了必要的方案。读写分离的原理是将读操作和写操作分别放在不同的MySQL实例上...
    99+
    2023-05-14
    读写分离 php mysql
  • 数据库读写分离指的是什么意思
    这篇文章主要介绍了数据库读写分离指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库读写分离的意思是为了确保数据库产品的稳定性...
    99+
    2022-10-18
  • TDSQL MySQL版基本原理-水平分表 读写分离 弹性扩展 强同步
    TDSQL MySQL版(TDSQL for MySQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。TDSQL MySQL版 即业务获取的是完整的逻辑库表,而后端会将库表均匀的拆分到多个物理...
    99+
    2019-05-29
    TDSQL MySQL版基本原理-水平分表 读写分离 弹性扩展 强同步
  • MySQL主从复制与读写分离(原理适用场景+实践操作)
    MySQL主从复制与读写分离 一、前言 ​ 前面我们已经对MySQL数据库的安装、命令、备份、索引、事务以及存储引擎等各个方面有了初步的理解,而今天我们将从宏观的角度来理解什么是MySQL数据库的主从复...
    99+
    2022-10-18
  • Redis实现读写分离有什么用
    这篇文章给大家分享的是有关Redis实现读写分离有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。读写分离Redis 通过副本,实现「主-从」运行模式,是故障切换的基石,用来提高系统运行可靠性。也支持读写分离...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作