执行Alter table报Waiting for table metadata lock

首先,咱们先来模拟一个场景。

session A

START TRANSACTION;
SELECT * FROM eps_approve;

session B

ALTER TABLE eps_approve ADD COLUMN faren_id3 INT;
此时,会发生阻塞。

通过show processlist发现,alter table 发生了Waiting for table metadata lock。


image.png

解决办法:
通过执行
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx


image.png

kill 154

再次通过show processlist查询
发现alert table已经执行完毕


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容