mysql出现“mysqld got signal 8”解决办法

今天收到一台DB机器连接不通的告警,登录服务器发现DB连通性是正常的。怀疑可能是网络抖动导致的误告,查看网络监控进行确认,并没有发现有丢包或者网络延迟的陡增的情况,初步排除网络抖动问题。查看mysql错误日志,发现有mysqld got signal 8的报错,mysql由于某种原因导致mysql出现crash。报错如下:

怀疑是mysql的bug引起,在官网找到了对应的bug,链接如下:

https://bugs.mysql.com/bug.php?id=65663

原因是某个SQL访问分区表的时候,访问分区越界的时候有bug,导致实例crash。如下图所示:

只有version为5.5.23,5.5.24,5.5.25有这个bug,在5.5.26修复了这个bug,而这个DB的版本恰好是5.5.24

通过抓包发现确实有一个使用了分区表的SQL,一出现mysql就crash,分析发现是因为使用的时间分区字段超过了最大值导致。

解决办法:

1、修改SQL

2、添加max分区

3、升级mysql版本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容