初识MDL锁

 
会话1
mysql> begin ;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select * from tab02;
+----+------+
| id | name |
+----+------+
|  1 | A    |
|  3 | A    |
|  5 | C    |
|  7 | G    |
| 10 | I    |
+----+------+
5 rows in set (0.00 sec)
会话2
直接执行drop table 操作
 
mysql> drop table tab02;
hang住
 
 
会话3确认当前数据库中的锁
 
mysql> show processlist;
+----+------+-----------+-------+---------+-------+---------------------------------+------------------+
| Id | User | Host      | db    | Command | Time  | State                           | Info             |
+----+------+-----------+-------+---------+-------+---------------------------------+------------------+
|  1 | root | localhost | myown | Query   |     0 | init                            | show processlist |
|  2 | root | localhost | myown | Query   |   152 | Waiting for table metadata lock | drop table tab02 |
|  3 | root | localhost | myown | Sleep   | 14125 |                                 | NULL             |
+----+------+-----------+-------+---------+-------+---------------------------------+------------------+
drop table tab02操作在等待一个metadata lock,哈哈  搞笑
 
线上环境尽量不做DDL操作
创建时间:2021-12-22 10:57
浏览量:0