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