【原创】MHA对MySQL master Too many connections错误的处理机制
有台服务器故障期间的现象:
1、 可以正常ping通
2、 telnet服务端口报Too many connections错误
3、 ssh连接不上
查看MHA的管理日志,在强制关机前的health check都是正常的

这点比较奇怪,因此在测试集群上模拟生产的问题做了测试
1、 模拟压测制造master Too many connections

2、 观察MHA管理日志,与生产环境相似
3、 查看HealthCheck.pm代码,原来是长连接

【测试kill掉health check长连接】
管理日志中记录建立连接时Too many connections的报错,但不会发生切换,每隔10秒做一次ping检测

【测试kill掉health check长连接&停止MHA管理进程】
再次启动MHA管理进程时会报错

【解决思路】
1、 已发生Too many connections的问题,想办法尽快把master搞死
尝试ssh连接到本机上shutdown mysql服务,ssh连接不上的情况下,联系NOC重启或关机
2、 每台服务器本地部署一个检测和扩连接的脚本
3、 还有一个思路是,改进当前调整connections的逻辑,对每台服务器维护一个连接池或建立一个长连接
4、 最佳的方案是不采用one-thread-per-connection的连接方式,改用pool-threads。
遗憾的是在MySQL官方版本上这个是收费的,一些公司使用的是Percona。

【原创】MHA对MySQL master Too many connections错误的处理机制的更多相关文章
- 使用MHA实现MySQL主从复制高可用
一.MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于Fac ...
- MHA+Atlas+mysql一主一从开启gtid安装配置与实验
各节点架构 (说明:生产环境有两个节点可以组成一套完整集群,我是测试环境,因此对于manager以及atlas和binlog server都是单点,如果生产环境,相应的将manager以及atlas和 ...
- [翻译]:MySQL Error: Too many connections
翻译:MySQL Error: Too many connections 前言: 本文是对Muhammad Irfan的这篇博客MySQL Error: Too many connections的 ...
- 构建MHA实现MySQL高可用集群架构
一.MHA简介 MHA(Master HighAvailability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开 ...
- 魅族资深DBA:利用MHA构建MySQL高可用平台
龙启东 魅族资深DBA 负责MySQL.Redis.MongoDB以及自动化平台建设 .擅长MySQL高可用方案.SQL性能优化.故障诊断等. 本次分享主要包括以下几方面: 如何利用MHA 改造MHA ...
- MHA实现MySQL的高可用
一:软件简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件. 在 ...
- MySQL Master High Available 源码篇
https://m.aliyun.com/yunqi/users/1287368569594542/articles https://yq.aliyun.com/articles/59233 MySQ ...
- mysql-master-ha 实现mysql master的高可用。
常用的mysql 高可用有下面几种方案: 名称 原理 特点 mysqlmha Perl脚本对mysql master做心跳,master down了以后,选举new master ,是要改代理层的 ...
- MHA实现mysql高可用复制集群
MHA简述 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在My ...
随机推荐
- Lucene之Java实战
1.导包 2.索引的创建 2.1首先,我们需要定义一个词法分析器. Analyzer analyzer = new IKAnalyzer();//官方推荐 Analyzer analyzer = ne ...
- Python读取Excel中的数据并导入到MySQL
""" 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...
- linux学习记录.3.virtualbox 共享文件夹
需要先安装增强功能. 设置目录后, mkdir /mnt/WinDownload //建立映射目录 sudo mount -t vboxsf Download /mnt/Windwnload ...
- [转]CNN 中千奇百怪的卷积方式大汇总
https://www.leiphone.com/news/201709/AzBc9Sg44fs57hyY.html 推荐另一篇很好的总结:变形卷积核.可分离卷积?卷积神经网络中十大拍案叫绝的操作. ...
- java数字转字符串前面自动补0或者其他数字
/** * Java里数字转字符串前面自动补0的实现. * * @author xiaomo * */ public class TestStringFormat { public ...
- idea中使用tomcat 方式启动spring boot项目
Spring boot 的main 入口启动方式相信都会用,直接运行main直接就启动了,但是往往这种方式并不是最佳的启动方式,比如运维的层面更希望调整tomcat的调优参数,而只使用嵌入启动方式很难 ...
- iOS 里const在修饰对象时候的用法
玩iOS的小伙伴对const应该很不陌生, 在声明全局常量的时候很多时候都会用到, 但是有时候修饰对象很迷惑下面是个人总结, 下面的地址都是模拟的 1. const NSString *str1 = ...
- 04 Effective Go 高效的go语言 重点内容
Effective Go 高效的go语言 Introduction 介绍 Examples 例子 Formatting 格式 Commentary 评论 Names 名字 Package names ...
- CentOS/Linux 网卡设置 IP地址配置
CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...
- (转)链接服务器——获取EXCEL数据
测试目的:验证利用链接服务器.分布式查询获取EXCEL中的数据测试环境:Microsoft SQL Server 2005 - 9.00.3080.00 (X64) Enterprise Editi ...