减少mysql主从数据同步延迟问题的详解
基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了。如果延迟比较大,就先确认以下几个因素:
1. 网络延迟
2. master负载
3. slave负载
一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器,只作为备份用,不进行其他任何操作,就能相对最大限度地达到'实时'的要求了
另外,再介绍2个可以减少延迟的参数
–slave-net-timeout=seconds
参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据
slave_net_timeout单位为秒 默认设置为 3600秒
| slave_net_timeout | 3600
–master-connect-retry=seconds
参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试。
master-connect-retry单位为秒 默认设置为 60秒
通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟
一般网络问题的错误是:
070401 16:16:55 [ERROR] Error reading packet from server: Lost connection to MySQL server during query (server_errno=2013)
070401 16:16:55 [ERROR] Slave I/O thread: Failed reading log event, reconnecting to retry, log ‘mysql_master-bin.000134′ position 115817861
相关文章
关于sql count(列名)、count(常量)、count(*)之间的区别
这篇文章主要介绍了关于sql count(列名)、count(常量)、count(*)之间的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
Window 下安装Mysql5.7.17 及设置编码为utf8的方法
这篇文章主要介绍了Window 下安装Mysql5.7.17 及设置编码为utf8的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-03-03
Java的Struts框架中append标签与generator标签的使用
这篇文章主要介绍了Java的Struts框架中append标签与generator标签的使用方法,Struts是Java的SSH三大web开发框架之一,需要的朋友可以参考下2015-12-12
MySQL锁等待超时问题的原因和解决方案(Lock wait timeout exceed
在数据库开发和管理中,锁等待超时是一个常见而棘手的问题,对于使用 MySQL 的应用程序,尤其是采用 InnoDB 存储引擎的场景,这一问题更是屡见不鲜,本文给大家介绍了MySQL锁等待超时问题的原因和解决方案,需要的朋友可以参考下2024-11-11


最新评论