当前位置: 首页 > news >正文

【案例】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 

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


相关文章:

  • Node+Express+node-mysql 实战于演习 全套mysql(增删改查)
  • 我与mongodb 二三事(2)
  • 失眠的症状是什么
  • 20145222黄亚奇《Java程序设计》实验二实验报告
  • TaskCompletionSource的使用场景
  • Nginx负载均衡配置实例详解(转)
  • H5页面快速搭建之高级字体应用实践
  • 技能的释放与CD
  • 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
  • 实现滑动分页(微博分页方式)
  • MySQL 读写分离介绍及搭建
  • corosync + pacemaker + nfs 构建高可用mysql集群
  • GCC编译器使用
  • EHcache经典配置
  • 基于 lua-resty-upload 实现简单的文件上传服务
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 2017届校招提前批面试回顾
  • Android 架构优化~MVP 架构改造
  • co.js - 让异步代码同步化
  • FineReport中如何实现自动滚屏效果
  • Intervention/image 图片处理扩展包的安装和使用
  • Vue组件定义
  • Webpack 4x 之路 ( 四 )
  • webpack+react项目初体验——记录我的webpack环境配置
  • 从重复到重用
  • 多线程 start 和 run 方法到底有什么区别?
  • 反思总结然后整装待发
  • 仿天猫超市收藏抛物线动画工具库
  • 基于web的全景—— Pannellum小试
  • 讲清楚之javascript作用域
  • 盘点那些不知名却常用的 Git 操作
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 小试R空间处理新库sf
  • # 数据结构
  • $ git push -u origin master 推送到远程库出错
  • (6)设计一个TimeMap
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Python第六天)文件处理
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (剑指Offer)面试题34:丑数
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十五)使用Nexus创建Maven私服
  • ***详解账号泄露:全球约1亿用户已泄露
  • .net wcf memory gates checking failed
  • .NET 设计一套高性能的弱事件机制
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET上SQLite的连接
  • /bin/bash^M: bad interpreter: No such file or directory
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • []error LNK2001: unresolved external symbol _m
  • [04] Android逐帧动画(一)