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

数据库 MySQL 数据库运维
要理解你的复制行为为何滞后,然后了解如何使用正确的方法来解决滞后问题。

[[128363]]

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 

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

责任编辑:Ophira 来源: TechTarget中国
相关推荐

2022-12-20 08:46:41

MySQL主从复制

2010-09-29 14:48:16

2023-09-11 08:30:30

Creator工厂方法

2017-06-01 14:00:17

路由器桥接路由WDS

2009-08-25 12:37:38

个人服务器架设

2010-05-07 15:23:52

Oracle系统性能

2018-12-24 08:46:52

Kubernetes对象模型

2013-08-30 10:56:18

Windows 8.1

2024-04-22 08:17:23

MySQL误删数据

2013-09-30 10:11:40

Windows 8技巧

2022-07-05 11:48:47

MySQL死锁表锁

2017-11-06 16:30:33

开源

2015-08-27 09:30:38

2024-09-29 09:47:31

SQLAPI版本

2017-07-14 08:18:08

异构存储复制

2022-03-16 15:54:52

MySQL数据format

2010-06-12 10:10:55

2017-07-10 13:31:03

异构 存储

2011-01-05 09:19:50

清洁数据中心

2013-06-07 17:46:31

Windows 8Windows 8.1
点赞
收藏

51CTO技术栈公众号