欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-29 18:09:33
...
MySQL 复制滞后怎么办?其实方法很简单_MySQL

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

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

相关标签: MySQL MySQL复制