mysql 5.6 bug_MySQL 5.6的一个bug引发的故障
突然收到告警,提示mysql宕机了,该服务器是从库。于是尝试登录服务器看看能否登录,发现可以登录,查看mysql进程也存在,尝试登录提示
ERROR 1040 (HY000): Too many connections
最大连接数设置的3000,怎么会连接数不够了呢。于是使用gdb修改一下最大连接数:
gdb -p $(cat pid_mysql.pid) -ex "set max_connections=5000" -batch
修改以后可以登录了,于是show processlist看看是啥情况:
发现监控程序执行show slave status都被卡住了,最后把最大连接数用完,导致Too many connections。复制卡在了Waiting for commit lock。查阅资料以后发现是触发了bug。https://bugs.mysql.com/bug.php?id=70307,改bug在5.6.23已经修复。我的版本是 5.6.17
mysql> SELECT a.trx_id, trx_state, trx_started, b.id AS thread_id, b.info, b.user, b.host, b.db, b.command, b.state FROMinformation_schema.`INNODB_TRX` a, information_schema.`PROCESSLI
ST` bWHERE a.trx_mysql_thread_id = b.id ORDER BYa.trx_started;+----------+-----------+---------------------+-----------+------+-------------+------+------+---------+-------------------------+
| trx_id | trx_state | trx_started | thread_id | info | user | host | db | command | state |
+----------+-----------+---------------------+-----------+------+-------------+------+------+---------+-------------------------+
| 51455154 | RUNNING | 2017-08-02 02:20:07 | 6404 | NULL | system user | | NULL | Connect | Waiting for commit lock |
+----------+-----------+---------------------+-----------+------+-------------+------+------+---------+-------------------------+
1 row in set (0.03 sec)
可以看到在凌晨2点左右的时候卡住的,突然发现凌晨2点这个时候正是xtrabackup备份数据的时间。xtrabackup备份的时候执行flushs tables with read lock和show slave status会有可能和SQL Thread形成死锁,导致SQL Thread一直被卡主。原因是SQL Thread的DML操作完成之后,持有rli->data_lock锁,commit的时候等待MDL_COMMIT,而flush tables with read lock之后执行的show slave status会等待rli->data_lock;修复方法是rli->data_lock锁周期只在DML操作期间持有。
stop slave没有用,正常停止没有用,最后只能kill -9,问题还是比较严重的,解决的方法就是升级新版本。
mysql 5.6 bug_MySQL 5.6的一个bug引发的故障相关推荐
- 『转』度百死去飞秋一个BUG引发的血案
作了一篇文章度百死去飞秋一个BUG引发的血案,昨天,度百死去的美国客户发邮件给我,说我的软件出问题了,我查来查去,发现居然是服务器上一个目录无法删除,一删除就报 cannot read from th ...
- 查看redis缓存大小_一个 bug 引发了服务器崩溃,对应 redis 的 key 回收原理你清楚了吗?...
1 背景 项目中使用了 redis 做旁路缓存.读请求到来时,有以下操作:1.检查缓存,有则返回2.没有则读取数据库,将结果回写到缓存中. 写请求到来时,有以下操作:1.更新数据库 2.更新缓存(实际 ...
- 一个bug引发的人生感悟
文章目录 问题现象 原因分析 节目id和节目路径映射关系 uuid数据 流程分析 发包机 解决办法 感悟 问题现象 发包机 结果csv文件,不同progid指向同一视频路径问题 原因分析 节目id和节 ...
- std::uniform_real_distribution的一个bug引发的服务器崩溃
文章目录 前言 崩溃问题 std::uniform_real_distribution<> 的bug bug 重现方法 总结 前言 近日发生一次线上游戏服务器宕机问题,通过日志和core文 ...
- 一个bug引发的血案(大爆炸)
据传,在冷战时期,CIA曾成功向前苏联"输出"一个有设计缺陷的控制软件,该软件用来控制天然气主管道.(KGB从一家加拿大公司窃取该软件.)那个植入的Bug最终引发了1982年的西伯 ...
- 一个BUG引发的灾难:ORA-00600 [kjmchkiseq:!seq]
对于打工人可能最痛苦的就是被告知的故障,数据库有监控.告警.每天巡检,自己做了一系列数据库的"安保"工作,本以为可以万无一失,中午在安心的睡觉中,被人告知数据库crash了.当时的 ...
- mysql第三章关系模型_一个MySQL关系模型只有三个关系(二维表)组成。_学小易找答案...
[判断题]DELETE语句功能是对表中所有记录或满足条件的记录进行批量删除. [填空题]The computer's entire ____ was on a single board. [单选题]下 ...
- 关于MySQL count(distinct) 逻辑的另一个bug
背景 上一篇博文(链接)介绍了count distinct的一个bug.解决完以后发现客户的SQL语句仍然返回错误结果(0), 再查原因,发现了另外一个bug.也就是说,这个SQL语 ...
- MySQL 5.7最新版本的2个bug
好久没写博客了,都长草了.新业务上了5.7没遇到什么问题,虽然没遇到什么问题,但不代表没有问题,我有个习惯就是没事就喜欢逛逛percona的Blog,于是看到目前最新GA版本5.7.17的2个bug, ...
最新文章
- 2021年大数据Kafka(八):Kafka如何保证数据不丢失
- [Hive]Union使用指南
- 阿里巴巴消息系统架构与变迁--转载
- SpringMVC框架结构以及架构流程
- 微信小程序项目实战知识点总结(swiper组件自适应高度,自定义弹出层,悬浮按钮,虚拟键盘)...
- python辅助脚本教程_微信跳一跳python辅助脚本实例分享
- 《你的灯亮着吗》 读书笔记三
- win11怎么解除网络限制 windows11解除网络限制的设置方法
- LeetCode讲解视频博主链接
- springboot系列二、springboot项目搭建
- FastRVC功能记录
- 教务管理系统数据字典mysql_数据库课程设计报告--教务管理系统设计
- 什么是GNSS测试?如何进行GNSS测试?
- 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复
- 超级玛丽3通关指南+隐藏点整理
- JAVA蓝桥杯分解质因数
- CentOS防攻击设置
- ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象
- go语言csv包_golang导出csv
- nlp中文本相似度匹配