所有查询都在Amazon RDS实例上进入“等待表”状态

时间:2013-10-31 09:44:40

标签: mysql amazon-rds

我们目前有以下问题导致我们的应用程序停机。我们所做的所有查询都会进入"等待表格"状态并停留在那里,导致MySQL服务器连接用完。

根据MySQL手册

,我们调查了问题并了解了它的含义
  

等待桌子,等待桌子

     

线程得到了一个通知,表明了一个底层结构   表已更改,它需要重新打开表以获取新表   结构体。但是,要重新打开表,它必须等到所有其他表   线程关闭了有问题的表。

     

如果另一个线程使用了FLUSH TABLES,则会发出此通知   或有关表格中的下列陈述之一:FLUSH   TABLES tbl_name,ALTER TABLE,RENAME TABLE,REPAIR TABLE,ANALYZE   TABLE或OPTIMIZE TABLE。

我使用SHOW PROCESSLIST检查了我们的运行进程,发现没有数据定义语言语句,或者上面列表中的任何语句。

还有什么可能导致这种情况?

2 个答案:

答案 0 :(得分:1)

我们并没有真正找到导致问题的答案,但似乎亚马逊的自动备份功能是罪魁祸首。我们现在在联系亚马逊支持后再次启动并运行。

答案 1 :(得分:1)

我今天遇到同样的问题。最后,我发现它是由大查询和备份过程的并发性引起的。带有-master-data的Mysqldump可能会导致刷新表命令。 看到这个 http://bugs.mysql.com/bug.php?id=35157

我的情况是: flush命令正在等待大查询; 其他查询正在等待flush table命令完成,因此它们被阻止。 当大查询完成时,情况正常。

所以我猜你当时可能会有一个大问题。