mysql主从复制延迟问题及解决

转载 2018年04月17日 18:00:36

  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数据库主从复制延迟的问题
  • cnbird2008
  • cnbird2008
  • 2011-02-11 10:39:00
  • 3431

Mysql主从同步延迟问题及解决方案

对于主从正常执行,相应的延迟几乎是不存在的。但是在高QPS下,主从同步却出现了比较明显的延迟情况。 _______________________________________________...
  • moonpure
  • moonpure
  • 2016-10-18 17:42:11
  • 2189

减少mysql主从数据同步延迟问题的详解

----------------------------------------------------------------------------------------------------...
  • joeyon
  • joeyon
  • 2015-04-07 15:05:54
  • 1262

滚蛋吧,MySQL主从复制延迟

转自姜承尧 段子:元旦,X骑着摩拜单车去深圳金茂JW万豪酒店happy。酒店门口把摩拜扔给门童,让其泊车。作为平时泊车法拉利、宾利等豪车的门童,顿时一脸懵逼。 在内网看到同事写的文章,关于...
  • jh993627471
  • jh993627471
  • 2018-01-09 09:36:34
  • 499

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

mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍。 主从同步基本上能做到实时同步。我从别的网站借用了主从同步的原理图。   在配置好了, 主...
  • Soar_Away
  • Soar_Away
  • 2017-05-21 23:11:40
  • 3528

mysql主从延迟原因以及解决方案

MySQL数据库主从同步延迟原理。 MySQL数据库主从同步延迟是怎么产生的。 MySQL数据库主从同步延迟解决方案。 MySQL数据库主从同步延迟产生的因素。 1.MySQL数据库主从同步延迟原理。...
  • Cym_summer
  • Cym_summer
  • 2016-10-10 19:55:28
  • 7921

如何解决主从数据库同步延迟问题?

主机与备机之间的物理延迟是不可控的,也是无法避免的。但是如果仅仅需要满足这种强一致性,是相对简单的事:只需要在主机写入时,确认更新已经同步到备机之后,再返回写操作成功即可。主流数据库均支持这种完全的同...
  • huxing998
  • huxing998
  • 2018-01-10 16:47:05
  • 273

mysql主从同步延时解决

在从服务器上执行show slave status;可以查看到很多同步的参数,我们需要特别注意的参数如下: Master_Log_File:                      SLAVE中的...
  • xiongping_
  • xiongping_
  • 2015-11-18 14:52:24
  • 7345

mysql主从复制配置和相关的问题解决思路

  • 2017年10月30日 17:04
  • 39KB
  • 下载
收藏助手
不良信息举报
您举报文章:mysql主从复制延迟问题及解决
举报原因:
原因补充:

(最多只允许输入30个字)