mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍。 主从同步基本上能做到实时同步。我从别的网站借用了主从同步的原理图。

在配置好了, 主从同步以后, 主服务器会把更新语句写入binlog, 从服务器的IO 线程(这里要注意, 5.6.3 之前的IO线程仅有一个,5.6.3之后的有多线程去读了,速度自然也就加快了)回去读取主服务器的binlog 并且写到从服务器的Relay log 里面,然后从服务器的 的SQL thread 会一个一个执行 relay log 里面的sql , 进行数据恢复。

relay 就是 传递, relay race 就是接力赛的意思

1. 主从同步的延迟的原因

我们知道, 一个服务器开放N个链接给客户端来连接的, 这样有会有大并发的更新操作, 但是从服务器的里面读取binlog 的线程仅有一个, 当某个SQL在从服务器上执行的时间稍长 或者由于某个SQL要进行锁表就会导致,主服务器的SQL大量积压,未被同步到从服务器里。这就导致了主从不一致, 也就是主从延迟。

2. 主从同步延迟的解决办法

实际上主从同步延迟根本没有什么一招制敌的办法, 因为所有的SQL必须都要在从服务器里面执行一遍,但是主服务器如果不断的有更新操作源源不断的写入, 那么一旦有延迟产生, 那么延迟加重的可能性就会原来越大。 当然我们可以做一些缓解的措施。

a. 我们知道因为主服务器要负责更新操作, 他对安全性的要求比从服务器高, 所有有些设置可以修改,比如sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog,innodb_flushlog, innodb_flush_log_at_trx_commit 也 可以设置为0来提高sql的执行效率 这个能很大程度上提高效率。另外就是使用比主库更好的硬件设备作为slave。

b. 就是把,一台从服务器当度作为备份使用, 而不提供查询, 那边他的负载下来了, 执行relay log 里面的SQL效率自然就高了。

c. 增加从服务器喽,这个目的还是分散读的压力, 从而降低服务器负载。

3. 判断主从延迟的方法

MySQL提供了从服务器状态命令,可以通过 show slave status 进行查看, 比如可以看看Seconds_Behind_Master参数的值来判断,是否有发生主从延时。
其值有这么几种:
NULL - 表示io_thread或是sql_thread有任何一个发生故障,也就是该线程的Running状态是No,而非Yes.
0 - 该值为零,是我们极为渴望看到的情况,表示主从复制状态正常

其它的方法我也没试过, 暂时不做评论

mysql 主从同步不一致_MySQL 主从同步延迟的原因及解决办法相关推荐

  1. mysql sleep详解_mysql sleep链接过多的原因及解决办法

    今天收到运维同事短信,说有个线上业务"可能是数据库DB堵塞了,导致mysql链接过多,让我看一下". 回家后赶紧用家里vpn登录数据库服务器,show processlist 看了 ...

  2. MySQL 主从同步延迟的原因及解决办法

    首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校 会员中心 收藏 动态 消息 创作中心 MySQL 主从同步延迟的原因及解决办法 hao_yunfeng 2018-09-04 23 ...

  3. MySQL备库复制延迟的原因及解决办法

    背景 今天有同事问我主从复制延迟会影响高可用切换的 RTO 怎么办,这个不需要做实验,我可以直接回答,所以有了以下赶鸭子的文章,都是一线运维经验之谈,建议四连:点赞.收藏.转发.在看. 复制延迟的原因 ...

  4. 微信收到消息很慢无法连接服务器,微信消息延迟几分钟才收到 微信收消息有延迟的原因及解决办法...

    微信收到消息总是延迟怎么回事呢?第一个就是网络延迟,第二个是手机信号不好,第三个就是微信自己设置的问题.下面,我们来看看微信收消息有延迟的原因及解决办法. 微信消息延迟几分钟才收到怎么回事 一.网络延 ...

  5. 美国服务器减少延迟,美国服务器延迟的原因及解决办法

    在国内用户使用美国服务器越来越多,许多用户也发现部分美国的服务器存在延迟的现象,这样就会导致网站在访问较慢,影响用户的体验.那么,美国服务器延迟的原因有哪些?出现这些原因该怎么解决. 服务器延迟,通俗 ...

  6. mysql保存时乱码了_MySQL保存中文乱码的原因和解决办法

    (3)MySQL的字符集设置. 这个是重点了,一般都是在这里搞错而出现了mysql乱码. mysql编码设置可以分为三种设置:数据库的编码.表的编码.和字段的编码. a.数据库的编码: 在sqlyog ...

  7. mysql数据库什么情况下会锁表_mysql数据库锁的产生原因及解决办法

    数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性 ...

  8. mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

  9. mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

    原文链接:https://blog.csdn.net/hao_yunfeng/article/details/82392261 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主 ...

最新文章

  1. python面向对象的三个基本特征 含义和作用简介_面向对象语言的三个基本特征各自特点及优势...
  2. stk在计算机仿真中的应用_浅析仿真技术在激光系统设计中的应用
  3. WebBrowser 控件 内存溢出 补丁 From Microsoft
  4. 宝宝学数学的第一套书,秒杀题海战术!上小学前应该这样学数学!
  5. 前端学习(1258):then参数中的函数返回值
  6. 中国海洋大学计算机考研指导
  7. 从头推导与实现 BP 网络
  8. nicescroll.js滚动条错位
  9. armv6、armv7、armv7s、arm64 与开发静态库(.a)
  10. 用计算机进行坐标反算,反算在测量中的运用(坐标反算桩号)
  11. 消除LightGBM训练过程中出现的[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
  12. mate30首发鸿蒙系统,华为mate30首发鸿蒙系统,mate20 Pro再降两千元
  13. fork()创建子进程步骤、函数用法及常见考点(内附fork()过程图)
  14. Flink 网络流控与反压机制
  15. OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28
  16. kubectl cordon 标记节点不可部署Pod SchedulingDisabled uncordon 取消标记
  17. 吴思《潜规则》:读圣贤书所为何事?
  18. 十什么争什么的成语(十什么争什么四字成语大全)
  19. 读书笔记 -- 推荐系统实践(1)
  20. 【GPU精粹与Shader编程】(七) 一篇文章读完《GPU Gems 3》

热门文章

  1. DOCKER OVERLAY NETWORK consul 注册
  2. xml file too big to import to wordpress website
  3. robots.txt文件的解析及过滤
  4. Python基础16-模块与包基础01
  5. html 复选框 mysql_Html:实现带复选框的下拉框(一)
  6. 为什么要使用Go语言?Go语言的优势在哪里?
  7. c专家编程/c陷阱_如何避免常见的初学者陷阱并像专家一样开始编码
  8. 创建新的apple id_Google是新的Apple吗?
  9. 开源许可证 如何工作_开源许可证的工作方式以及如何将其添加到您的项目中...
  10. 计算机组成 试题,计算机组成典型试题及答案