执行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。

执行Alter table报Waiting for table metadata lock

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

执行Alter table报Waiting for table metadata lock

kill 154

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

执行Alter table报Waiting for table metadata lock

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容