MYSQL 5.6.10 ANALYZE TABLE锁定问题

时间:2018-09-16 23:39:03

标签: mysql sql database mysql-5.6 table-locking

我在生产mysql db上运行了configure table命令,却不知道这会阻止我选择表的内容。这导致生产站点宕机了:(释放锁需要多长时间?而且,从备份中重新创建数据库是否可以解决问题/摆脱锁?

请让我知道。

谢谢。

2 个答案:

答案 0 :(得分:1)

ANALYZE TABLE非常清楚地说:“在分析过程中,该表被InnoDB和MyISAM的读锁所锁定。”

您可以在SQL中KILL {connection number}停止命令。

注意:您可能应该更新到MySQL-5.6的最新版本。

答案 1 :(得分:1)

ANALYZE TABLE等待获取元数据锁。在等待期间,针对该表的任何SQL查询都会等待ANALYZE TABLE。

ANALYZE TABLE通常很快,即1-3秒。但是,这种快速操作只有在获得元数据锁定后才能开始

当您对表进行长时间的事务处理时,它无法获取元数据锁定。因此,如果您希望它运行得更快,请完成交易。

有关更多信息,请参见我对MySQL failing to ALTER TABLE which is being actively written to的回答。