当删除或重命名具有 myisam 存储引擎的表时,我意识到它正在等待表元数据锁,但是,显示完整进程列表并没有显示有问题的查询。有什么想法吗?
| 462 | 根 | xxx.xxx.xxx.xx:54658 | mydb | 睡眠 | 1162 | | NULL | | 465 | root | localhost | mydb | 查询 | 0 | NULL | 显示完整进程列表 | | 466 | root | localhost | mydb | 查询 | 125 | 等待表元数据锁 | alter table mytable rename to mytable_junk |
答案1
答案2
我试图按如下方式转换表排序规则:
alter table xxx convert to character set utf8 collate utf8_unicode_ci;
然后我注意到在“显示完整进程列表”上请求被冻结在以下状态“等待表元数据锁定”
为了解决这个问题,我并行打开了另一个控制台并启动了以下 SQL 命令:
flush tables
问候