MySQL复制被普遍认为是十分有效的,主服务器进行更改后,从服务器可在几秒内做出相应的改动。但如果发生两者之间同步缓慢的问题" />

MySQL 复制滞后怎么办?其实方法很简单_MySql_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > MySql > MySQL 复制滞后怎么办?其实方法很简单

MySQL 复制滞后怎么办?其实方法很简单

 2016/5/12 5:37:24    程序员俱乐部  我要评论(0)
  • 摘要:498)this.width=498;'onmousewheel='javascript:returnbig(this)'width="479"height="304"border="0"alt=""src="http://s7.51cto.com/wyfs02/M01/5A/07/wKiom1T0Bg-zEnUHAACzzNCaugQ470.png"/>MySQL复制被普遍认为是十分有效的,主服务器进行更改后,从服务器可在几秒内做出相应的改动。但如果发生两者之间同步缓慢的问题
  • 标签:方法 复制 SQL MySQL

class='fit-image' onload='javascript:if(this.width>498)this.width=498;' onmousewheel = 'javascript:return big(this)' width="479" height="304" border="0" alt="" src="http://s7.51cto.com/wyfs02/M01/5A/07/wKiom1T0Bg-zEnUHAACzzNCaugQ470.png" />

MySQL复制被普遍认为是十分有效的,主服务器进行更改后,从服务器可在几秒内做出相应的改动。但如果发生两者之间同步缓慢的问题, 那么主要有以下原因:

从结点磁盘问题: 复制操作对每个数据库都是由一个线程来完成,通常执行变更时的滞后是由磁盘延迟引起的。在这种情况下,您应该考虑使用SSD加速这个过程。

带宽低/网络延迟高: 如果两个服务器位于远程位置(高延迟的情况下)或服务器之间的存在带宽较低的问题,我们应使用下面的方法之一或者两者结合使用,以最大限度地减少服务器间通信量。

使用基于语句的复制:基于行的复制会为数据库中每一行的变更创建一个SQL 语句。基于语句的复制是应用程序发送的实际SQL语句的记录。通常基于语句的复制在记录大小方面更为有效。然而,你应该意识到,当你使用UPDATE ... LIMIT1时,基于语句的复制可能并不十分有效

压缩通信量: MySQL支持使用 slave_compressed_protocol参数进行日志压缩复制。这种方法将减少高达80%的服务器之间的通信。然而,压缩是计算密集型的,所以你应该意识到这样会产生一些额外的CPU利用率(这通常不属于数据库中的问题)。这个参数应该在两个服务器上都启用:

动态的从MySQL命令行输入:SET GLOBALslave_compressed_protocol = 1;

在MySQL配置文件中进行配置:

  1. #compress master-slave communication 
  2. slave_compressed_protocol = 1 

最起码,要理解你的复制行为为何滞后,然后了解如何使用正确的方法来解决滞后问题。是的,它就是这么容易,且十分有效。

发表评论
用户名: 匿名