python MYSQLdb 默認關閉 autocommit,任意執行一個 select * from user 語句,對于 MYSQL 5.5 以上的版本,都會造成 METADATA LOCK 阻塞。如下
select * from user;
alter table user ......; -- 阻塞 METADATA LOCK
select * from user; -- 阻塞 METADATA LOCK
結論:
select / update /delete 都會作為事務,事務就會出發 METADATA LOCK
alter table 也會申請 METADATA LOCK,但是會立即釋放