MySQL复制一般被认为是很有效的。主服务器更改后,从服务器可以在几秒钟内进行相应的更改。但是如果两者之间存在同步慢的问题,主要原因有以下几点:从节点磁盘问题:复制操作是每个数据库一个线程完成的,执行更改时的滞后通常是磁盘延迟造成的.在这种情况下,您应该考虑使用SSD来加快该过程。低带宽/高网络延迟:如果两台服务器位于远程位置(在高延迟的情况下)或服务器之间的带宽较低,我们应该使用以下一种或多种方法的组合来***最小化服务器间通信.使用基于语句的复制:基于行的复制为数据库中更改的每一行创建一个SQL语句。基于语句的复制是应用程序发送的实际SQL语句的记录。通常基于语句的复制在记录大小方面更有效。但是,您应该知道,当您使用UPDATE...LIMIT1时,基于语句的复制在压缩流量方面可能不是很有效:MySQL支持使用slave_compressed_protocol参数进行日志压缩复制。这种方法将服务器之间的通信减少多达80%。但是,压缩是计算密集型的,因此您应该注意一些额外的CPU使用率(这在数据库中通常不是问题)。应该在两个服务器上启用此参数:从MySQL命令行动态地启用:SETGLOBALslave_compressed_protocol=1;在MySQL配置文件中配置:#compressmaster-slavecommunicationsslave_compressed_protocol=1最起码,了解你的复制行为滞后的原因,然后学习如何使用正确的方法来修复滞后问题。是的,就这么简单,而且有效。
