我已经开始遭受我的 MySQL 服务器无法完成“临时”更新/删除查询的奇怪问题。我对“休闲”的定义是普通的查询,并且一直在发生,突然之间,其中一个就卡住了,永远不会结束。在此期间服务器磁盘 I/O 很高(从通常的 65% 到超过 90%,这种增加是在 READS 中),只有当我手动终止查询时,一切才会恢复正常。这种情况每隔几个小时就会发生一次,每次都在不同的桌子上。似乎卡住的查询永远不会完成(看到超过 6 小时)。在此类事件期间查看正在运行的查询时,没有“等待表锁定”。
什么会导致这种情况?
我正在考虑添加一个 cronjob 来自动终止长时间运行的查询,但这将是我宁愿避免的绷带。