一次在零云(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...