MySQL slave_net_timeout参数解决的一个集群问题案例

 更新时间:2015年05月29日 10:45:28   投稿:junjie  
这篇文章主要介绍了MySQL slave_net_timeout参数解决的一个集群问题案例,问题日志请见正文,本文使用slave_net_timeout参数解决了这个问题,需要的朋友可以参考下

【背景】
   对一套数据库集群进行5.5升级到5.6之后,alter.log 报warning异常。
  

复制代码 代码如下:

2015-02-03 15:44:51 19633 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the \'START SLAVE Syntax\' in the MySQL Manual for more information.

数据库业务压力  qps 1 tps 几乎为0  4-10 秒或者更久会有写入操作。
【分析】
  1 主从复制信息 主机地址,端口,复制用户,binlog 文件位置等信息是存储在master.info中的, 5.6 版本在安全性上做了很多改善,不建议在执行change master的时候指定密码。如果在搭建主从时制定密码,5.6 MySQL 会提示上述warning信息。这也是该集群在5.5版本时不报错的原因。
 
  2 MySQL Replication的重连机制

  在一个已经建立主从复制关系的系统里面,正常情况下,由从库向主库发送一个 COM_BINLOG_DUMP 命令后,主库有新的binlog event,会向备库发送binlog。但是由于网络故障或者其他原因导致主库与从库的连接断开或者主库长时间没有向从库发送binlog。例如该例子中数据库集群 10s 左右还没有写入的情况,超过slave_net_timeout设置的4s ,从库会向主库发起重连请求。5.6 版本slave 发起重连请求时,MySQL都会判断有没有用明文的用户名密码,如果有则发出上述信息到error.log。
 
【解决方法】
   在本案例中可以尝试将slave_net_timeout 调整大一些 设置为25 。slave_net_timeout是设置在多少秒没收到主库传来的Binary Logs events之后,从库认为网络超时,Slave IO线程会重新连接主库。该参数的默认值是3600s ,然而时间太久会造成数据库延迟或者主备库直接的链接异常不能及时发现。将 slave_net_timeout 设得很短会造成 Master 没有数据更新时频繁重连。一般线上设置为5s 。

复制代码 代码如下:

set global slave_net_timeout = 25

    当然也可以和业务方沟通,对于几乎没有访问量的业务线进行下线 ,为公司节省资源。

相关文章

  • Mysql Online DDL的使用详解

    Mysql Online DDL的使用详解

    在日常DBA运维过程中,对表结构进行变更算是个普遍的需求了。如果操作的对象是个热表、大表,难免心里一怵,这些DDL操作是否可以直接执行,哪些会影响线上读写,哪些会影响主从,甚至导致服务器压力骤升,本文做了梳理,希望对大家有所帮助。
    2021-05-05
  • 在MySQL concat里面使用多个单引号,三引号的问题

    在MySQL concat里面使用多个单引号,三引号的问题

    今天小编就为大家分享一篇在MySQL concat里面使用多个单引号,三引号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • mysql8.0.18下安装winx64的详细教程(图文详解)

    mysql8.0.18下安装winx64的详细教程(图文详解)

    这篇文章主要介绍了安装mysql-8.0.18-win-x64的详细教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • MySQL实现数据更新的示例详解

    MySQL实现数据更新的示例详解

    这篇文章主要为大家详细介绍了MySQL实现数据更新的相关资料,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Ubuntu16.04安装mysql5.7.22的图文教程

    Ubuntu16.04安装mysql5.7.22的图文教程

    这篇文章主要介绍了Ubuntu16.04安装mysql5.7.22的图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • MySQL中B树索引和B+树索引的区别详解

    MySQL中B树索引和B+树索引的区别详解

    这篇文章主要为大家详细介绍了MySQL中B树索引和B+树索引的区别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • mysql 8.0.20 winx64.zip压缩版安装配置方法图文教程

    mysql 8.0.20 winx64.zip压缩版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.20 winx64.zip压缩版安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • linux/mac安装mysql忘记密码的解决办法

    linux/mac安装mysql忘记密码的解决办法

    这篇文章主要给大家介绍了关于linux/mac安装mysql忘记密码的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • Mysql分库分表之后主键处理的几种方法

    Mysql分库分表之后主键处理的几种方法

    Mysql分库分表之后,主键如何处理?本文主要介绍了Mysql分库分表之后主键处理的几种方法,具有一定的参考价值,感兴趣的可以了解一下
    2022-02-02
  • MySQL 8.0新特性之隐藏字段的深入讲解

    MySQL 8.0新特性之隐藏字段的深入讲解

    这篇文章主要给大家介绍了关于MySQL 8.0新特性之隐藏字段的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论