mysql表加锁、全表加锁、查看加锁、解锁

时间:2022-12-12 01:45:15

单个表锁定

格式: LOCK TABLES tbl_name {READ | WRITE},[ tbl_name {READ | WRITE},……]

例子: lock tables db_a.tbl_aaa read;   // 锁定了db_a库中的tbl_aaa表

解锁: unlock tables;

全局表锁定

命令: FLUSH TABLES WITH READ LOCK;   // 所有库所有表都被锁定只读

解锁: unlock tables;

注意:以上两个锁表语句在执行的时候都需要注意个特点,就是隐式提交的语句,在退出mysql终端的时候都会隐式的执行unlock tables,也就是如果要让表锁定生效就必须一直保持对话。

查看表锁定

命令: show open tables in_use > 0;

mysql> show open tables where in_use > 0;
+-----------+---------+--------+-------------+
| Database | Table | In_use | Name_locked |
+-----------+---------+--------+-------------+
| db_a | tbl_aaa | 1 | 0 |
+-----------+---------+--------+-------------+
1 row in set (0.00 sec)