我们目前有以下问题导致我们的应用程序出现故障。我们所做的所有查询都进入“等待表”状态并停留在那里,导致 MySQL 服务器连接被用完。
根据 MySQL 手册,我们调查了问题并了解了它的含义
等桌,等桌
线程收到一个表的基础结构已更改的通知,它需要重新打开表以获取新结构。但是,要重新打开表,它必须等到所有其他线程都关闭了有问题的表。
如果另一个线程对相关表使用了 FLUSH TABLES 或以下语句之一,则会发生此通知:FLUSH TABLES tbl_name、ALTER TABLE、RENAME TABLE、REPAIR TABLE、ANALYZE TABLE 或 OPTIMIZE TABLE。
我用 SHOW PROCESSLIST 检查了我们正在运行的进程,发现没有数据定义语言语句,或者上面列表中的任何语句。
还有什么可能导致这种情况?