线上处理Waiting for table metadata lock
原创
©著作权归作者所有:来自51CTO博客作者jack_cap的原创作品,请联系作者获取转载授权,否则将追究法律责任
Waiting for table metadata lock出现的原因是当一个没提交的事务使用了A表, 另外一个session 对A表进行alter,出现waiting for table metadata lock而且会阻塞此表之后所有的操作包括一致性读取。官方链接:http://dev.mysql.com/doc/refman/5.5/en/metadata-locking.html
所以线上执行alter最好是在业务不繁忙的时候进行, 如果不幸碰到Waiting for table metadata lock简单粗暴的方法是找到相关占用表的SQL 将他kill掉。至于找的方法,show engine innodb status\G的Transactions节去找。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
oVirt 4.5.5 安装问题总结-Failed to download metadata for repo
ovirt 'Failed to download metadata...'报错处理。
ovirt ovirt部署 ovirt部署报错 ovirt离线部署 ovirt暂停部署 -
Waiting for table metadata lock
同事说他负责的项目组其中一个统计页面非常慢,有的时候半个小时都出不来数据,但是有的时候又非常快!直接show processlist,发现truncate table t1语句在Waiting for table metadata lock!同事说t1是一个临时中间表,用来存放临时统计页面的数据!每次每个用户刷新该页面就调用一次存储过程!而且在调用存储过程之前是由程序控制事务!查看了统计预计,都是
Waiting for table me mysql metadata lock mysql lock mysql table metata l
















