mysql 触发器 宕机_mysql 案例 ~ 异常宕机汇总

本文总结了两种MySQL异常宕机情况,一种是能自行启动,另一种需调整隔离级别。重点分析了能自行启动的情况,如特定查询导致的服务崩溃。例如,AHI全局锁可能导致性能问题,可以通过关闭AHI临时解决;特定表的特定查询可能导致宕机,需对查询SQL进行改造。解决方案包括使用pstack和gdb进行深入分析以及调整SQL语句。
摘要由CSDN通过智能技术生成

简介 汇总遇到过的异常宕机汇总

说明

1  本人也不懂代码,无法找到原因,所以只记录浅显的解决办法

2 异常宕机 分为能自行启动和 必须通过调整隔离级别才能启动两种情况.本文应对的是第一种情况

案例汇总

案例1

核心报错区域

Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung

分析

1 MySQL后台线程srv_error_monitor_thread发现存在阻塞超过600s的latch锁时,如果连续10次检测该锁仍没有释放,就会触发panic避免服务持续hang下去。等待的数据字典锁

2 AHI 的全局锁btr_search_latch 经常会是竞争热点影响性能,5.7版本后有所改善与InnoDB buffer 一样做了多实例拆分

解决方式

1 可以选择暂时关闭AHI然后进行持续观察 set global innodb_adaptive_hash_index=0;

案例2

核心报错区域

Trying to get some variables.

Some pointers may be invalid and cause the dump to abort.

Query (7fefc00bf590): select语句

Connection ID (thread ID): 508

Status: NOT_KILLED

分析

1 一旦执行指定的select记录语句就会导致mysql重启(包括程序与手动执行)

2 其他表的查询没有问题,可能是此表的问题

3 执行非特定select语句的其他select没有任何问题

4 在从库进行此表的此语句查询也没有任何问题

总结 就是特定表的特定查询语句导致mysql宕机

解决方式

1 此问题联系开发进行解决改造特定的查询sql进行暂时解决,不会影响该数据库的其他业务.至于造成的具体原因,只能根据pstack gdb进行跟踪分析了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值