mysql如何做到读写分离_MySQL读写分离如何实现?

主要说下读写分离,当我们的数据量很大时,数据库服务器的压力变大,这时候我们需要从架构方面来解决这一问题,在一个网站中读的操作很多,写的操作很少,这时候我们需要配置读写分离,把读操作和写操作分离出来,最大程度的利用好数据库服务器。读写分离的实现原理就是在执行SQL语句的时候,判断到底是读操作还是写操作,把读的操作转向到读服务器上(从服务器,一般是多台),写的操作转到写的服务器上(主服务器,一般是一台…

大家好,又见面了,我是你们的朋友全栈君。

主要说下读写分离,

当我们的数据量很大时,数据库服务器的压力变大,这时候我们需要从架构方面来解决这一问题,在一个网站中读的操作很多,写的操作很少,这时候我们需要配置读写分离,把读操作和写操作分离出来,最大程度的利用好数据库服务器。

读写分离的实现原理就是在执行SQL语句的时候,判断到底是读操作还是写操作,把读的操作转向到读服务器上(从服务器,一般是多台),写的操作转到写的服务器上(主服务器,一般是一台,视数据量来看)。

当然为了保证多台数据库数据的一致性,需要主从复制。

主从复制的实现原理是:mysql中有一种日志,叫做bin日志(二进制日志),会记录下所有修改过数据库的sql语句。

主从复制的原理实际是多台服务器都开启bin日志,然后主服务器会把执行过的sql语句记录到bin日志中,之后从服务器读取这个bin日志,把该日志的内容保存到自己中继日志里面,从服务器再把中继日志中记录的sql语句同样的执行一遍。这样从服务器上的数据就和主服务器相同了。

原文链接:https://blog.csdn.net/camhan/article/details/73368725

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125796.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ORA-01017解决方案「建议收藏」

    ORA-01017解决方案「建议收藏」ora-01017是用户登录的报错。解决思路:1)确认所登用户的状态。可能是被锁了,可能是密码过期状态。修改之,即可2)当然是确认用户名密码是否输入正确。不确定密码的话可以重设。3)oracle-12C有了数据库容器概念。所登用户是否在PDBORCL里,tnsnames.ora文件里是否配置了PDBORCL,登录时是否选中了PDBORCL4)所登用户是否是sysdba。是的话登录语句要加assysdba这4步确定好了,能解决100%的ora-01017报错情况。…

  • Mac安装yarn

    Mac安装yarn1.全局安装yarnnpmi-gyran#查看安装是否成功yarn–version2.设置淘宝镜像,下载速度更快yarnconfigsetregistryhttps://registry.npm.taobao.com3.配置环境变量echo”PATH=$PATH:~/.yarn/bin”>>~/.bash_profile&&source.bash_profile…

  • 使用树莓派实现的口罩检测

    使用树莓派实现的口罩检测基于树莓派3B+官方摄像头两个指示灯实现的口罩检测项目演示链接口罩检测项目地址使用的口罩检测项目是AIZOO团队实现的使用的是目标检测常用的SSD算法。(由于疫情在家连不上实验室的服务器我无法训练)项目GitHub链接AIZOO团队给出的代码在Windows上很容易以跑通。配置的环境相对比较容易。也不需要很复杂的更改代码。因为模型较小我想出要在树莓派上运行,就进行了一些尝试。但是要在树莓派上运行需要修改一些代码。树莓派配置参考链接有很多基础配置对树莓派进行换源.

  • Charles抓包使用记录

    Charles抓包使用记录Charles抓包使用记录Charlse在Windows系统和Mac使用的不同点Charlse在Windows系统和Mac使用的不同点Windows和Mac上的使用方式基本上没有太大差异,但是对于https安全证书的安装还是有一些不同的,在Windows上安装之后需要在控制面板中找到证书管理页面,界面如下将证书到处到本地,然后再导入到“受信任的根证书颁发机构”。…

  • springboot设置时区不起作用_docker设置时区

    springboot设置时区不起作用_docker设置时区第一步:确认docker时区进入容器中dockerexec-it容器namebash查看容器时区:date第二步确认数据库时区SELECTTIMEDIFF(NOW(),UTC_TIMESTAMP);如果显示的是08:00:00则是cst时区。如果不是cst时区,则执行Sql:setglobaltime_zone=’+8:00′;##修改mysql全局时区为北京时间,即我们所在的东8区settime_zone=’+8:00′;.

  • mysql转换字符串为数字_mysql字符与数字转换「建议收藏」

    mysql转换字符串为数字_mysql字符与数字转换「建议收藏」本节内容:mysql字符与数字转换的方法1,将字符的数字转成数字,比如’0’转成0可以直接用加法实现。例如:将pony表中的d进行排序,可d的定义为varchar:复制代码代码示例:select*fromponyorderby(d+0)2,在进行ifnull处理时,比如ifnull(a/b,’0′)会导致a/b成了字符串,因此需要把’0’改成0。3,比较数字和varchar时…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号