一次在零云(ThinkPHP)项目中用到了事物,但是post数据时奇怪的问题出现了,一直无法提交请求,像卡住了,怀疑是mysql的原因,就尝试重启了几次还是不行,突然发现有些表一访问就卡死,试了无数方法还是不行,一度怀疑mysql报废了需要卸载重装,不死心,搜了搜终于发现一篇帖子讲如何查看mysql错误,抱着试一试的心态mysql -uroot -p登录,然后执行show processlist; 发现很多卡死的进程,同时报错最多的是Waiting for table metadata lock,问题看来在这里,kill xxx;用kill杀掉那些进程,mysql各个表的访问恢复正常,但是一访问之前的网站方法就又触发这个问题。于是百度Waiting for table metadata lock终于找到原因,在执行mysql事务时,如果有没有commit的事务,然后又执行了lock/alter等命令时,会导致以上问题的发生,而且让你无迹可循,不知道的还以为是网络问题呢,我也怀疑过特地换了好几个网络。。。
记一次MySQL中Waiting for table metadata lock的解决方法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、什么是Table Metadata Lock 在MySQL以前的版本中,存在这样一个bug: Descript...