MySQL报错InnoDB: A long semaphore wait【转】

本文介绍了解决MySQL登录后无法执行命令如showprocesslist的问题,通过调整系统内核参数和关闭innodb_adaptive_hash_index选项,有效解决了死锁问题,确保了MySQL服务的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql登录后无法执行命令如show processlist

查看MySQL错误日志

参考以下方法,执行

 1、系统层面

[root@pisphkdcbsql01 ~]# cat /proc/sys/kernel/sem 
250    32000    32    128
[root@pisphkdcbsql01 ~]# echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
[root@pisphkdcbsql01 ~]# sysctl -p 

2、MySQL参数修改

set global innodb_adaptive_hash_index=off;

查看修改结果
SHOW GLOBAL VARIABLES LIKE 'innodb_ada%';

可以看到innodb_adaptive_hash_index已经关闭,完成。

在my.cnf中添加
innodb_adaptive_hash_index=off

随后服务自动关闭,网上资料说是因为哈希自适应索引的问题,mysql的哈希自适应索引是默认开启的,这样建立索引后,读取和写入的效率能提高2倍以上,但是有可能会出现死锁的问题,网上建议关闭

 

转自

https://blog.youkuaiyun.com/wulantian/article/details/37560849

mysql错误Warning: a long semaphore wait - captain618的博客 - 优快云博客 https://blog.youkuaiyun.com/captain618/article/details/52453370

mysql adaptive hash index - 敖尔其楞的专栏 - 优快云博客 https://blog.youkuaiyun.com/aoerqileng/article/details/61615887

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值