Mysql锁定在INTERNAL DDL LOG RECOVER IN PROGRESS上

问题描述 投票:3回答:2

Mysql进程正在使用100%的cpu。 show processlist显示mysql似乎因为“INTERNAL DDL LOG RECOVER IN PROGRESS”而具有系统锁定。

搜索这个并没有返回有意义的结果所以:这个锁是什么?如何解决这个问题?

Mysql版本5.6.14-log

mysql
2个回答
0
投票

看起来你可能在MySQL用于存储数据库定义的表中有一些。

你最好的选择是让MySQL尝试恢复。

检查磁盘空间并确保有足够的可用空间让MySQL正常工作 - 这是导致此问题的常见原因。意外停机也可能是原因。

一旦完成,您可能需要进行检查和修复,以确保所有操作都可以运行 - 离开这可能需要一些时间。

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

有时修复可能卡在内部锁中,并且似乎永远不会停止,如果您的数据库低于1GB并且花费的时间超过30分钟,则终止mysql服务器进程并尝试重新启动它。

如果仍然没有帮助,请以安全模式启动服务器并尝试进行备份,可以启动安全模式;

sudo mysqld_safe

0
投票

见相关:Server stuck in INTERNAL DDL LOG RECOVERY IN PROGRESS

这是MySQL中的已知错误:http://bugs.mysql.com/bug.php?id=74517

完成后服务器不会清除此消息,从而导致混淆。

该错误已修复,您需要升级服务器:

在5.6.25,5.7.8,5.8.0更改日志中注明。

在Performance Schema threads表中,当线程状态发生变化时,thread / sql / main主线程工具的PROCESSLIST_STATE和PROCESSLIST_INFO值没有变化。

© www.soinside.com 2019 - 2024. All rights reserved.