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

  1. 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 forSTART 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 。

  1. set global slave_net_timeout = 25

当然也可以和业务方沟通,对于几乎没有访问量的业务线进行下线 ,为公司节省资源。
【参考资料】
Actively monitoring replication connectivity with MySQL’s heartbeat
MySQL 复制心跳

原文blog:

http://blog.itpub.net/22664653/viewspace-1429906/

slave_net_timeout 问题一则的更多相关文章

  1. mysql 主从复制参数slave_net_timeout

    slave_net_timeout slave_net_timeout表示slave在slave_net_timeout时间之内没有收到master的任何数据(包括binlog,heartbeat), ...

  2. slave_net_timeout, MASTER_HEARTBEAT_PERIOD, MASTER_CONNECT_RETRY,以及 MASTER_RETRY_COUNT设置和查看

    在主从复制中,有几个参数是非常重要的,包括slave_net_timeout, MASTER_HEARTBEAT_PERIOD, MASTER_CONNECT_RETRY,以及 MASTER_RETR ...

  3. slave_net_timeout

    http://blog.csdn.net/lwei_998/article/details/46864453

  4. mysql timeout知多少

    1.timeout变量知多少 打开mysql,用show variables like '%timeout%'命令一看,不看不知道,一看吓一跳,结果如下面所示,这么多timeout相关变量,一下就吓尿 ...

  5. 如何利用脚本实现MySQL的快速部署以及一机多实例的部署

    MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这 ...

  6. MySQL server has gone away报错原因分析/

    在平时和开发的交流 以及 在论坛回答问题的或称中会发现这个问题被问及的频率非常高. 程序中报错: MySQL server has gone away 是什么意思? 如何避免? 因此,感觉有必要总结一 ...

  7. MySQL 5.7 学习:功能性能的提升

    背景: 继上次介绍 初识 MySQL 5.6 新功能.参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能.性能.可用性.安全和监控上又提升了很高.现在看看和MySQL ...

  8. MySQL 各种超时参数的含义

    MySQL 各种超时参数的含义 今日在查看锁超时的设置时,看到show variables like '%timeout%';语句输出结果中的十几种超时参数时突然想整理一下,不知道大家有没有想过,这么 ...

  9. mysql5.7碰到的坑

    日志输出时区问题 输出日志有这些信息2016-08-16T02:23:09.831827Z 112241 [Note] Aborted connection 112241 to db: 'test' ...

随机推荐

  1. 转 SecureCRT 使用X11 转发功能打开图形化窗口

    https://yq.aliyun.com/articles/53308 摘要: 有些时候,有些程序可能需要依赖图形界面才能启动,例如安装Oracle时(其实oracle支持命令行安装),例如需要启动 ...

  2. Top-Down和Bottom-Up位图的区别

    Top-Down vs. Bottom-Up DIBs If you are new to graphics programming, you might expect that a bitmap w ...

  3. 能挣钱的微信JSSDK+H5混合开发

    H5喊了那么久,有些人都说不实用,有些人却利用在微信中开发H5应用赚得盆满钵满.微信JSSDK + HTML 5,让移动Web开发与微信结合轻而易举!跨平台.零成本,让大众创业变得更方便. 我觉得现在 ...

  4. 浅谈C++ 内存泄漏及其检测工具

    浅谈C++ 内存泄漏及其检测工具 http://wenku.baidu.com/link?url=1DGkOOvd_ITZyB8IHAwfhCOx2tfO6id8UfuyQkAMHZU6sasaAXz ...

  5. iOS 锁的常用方法

    锁的用法在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安 ...

  6. Java中枚举类型Enum的一种使用方式

    枚举类定义如下: public enum Status { SCUUESS("1", "成功"), FAILED("2", "失败 ...

  7. 后台安装 SQL Server 无人值守 安装

    (开头闲淡)项目需要必须安装SQL的,查了很久,断断续续用了各种方法,今天终于用了正确的姿(xia)势(mo)弄成了. 最开始用的方法是调用Win的API模拟鼠标操作安装的,嗯,虽然勉强可以,就是有些 ...

  8. ajax报错问题的解决

    背景:用ajax与服务器页面进行交互 问题:XMLHttpRequest.status==0并且XMLHttpRequest.readyState==0并且textStatus==error 关于XM ...

  9. spark简单入门

    本文由cmd markdown编辑,原始链接:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spa ...

  10. crontab 应用

    可以用crontab -e 添加要执行的命令. 命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户.            添加的命令必须以如下格式:    * * * * * /co ...