ITPub博客

首页 > 数据库 > MySQL > MySQL表锁

MySQL表锁

原创 MySQL 作者:zchbaby2000 时间:2020-08-16 21:45:32 0 删除 编辑

在mysql中的表锁,LOCK TABLE t READ;  用读锁锁表,会阻塞其他事务修改表数据
===================================================================
####Session 1
mysql> select * from t;
+------+------+
| id   | name |
+------+------+
|    1 | WW   |
|    2 | SS   |
|    3 | VV   |
+------+------+
3 rows in set (0.00 sec)

####读锁-锁表t
mysql> LOCK TABLE t READ;

####Session 2,可以读取数据
mysql> select * from t where id=1;
+------+------+
| id   | name |
+------+------+
|    1 | WW   |
+------+------+
1 row in set (0.00 sec)

####Session 2, insert数据被阻塞
mysql> insert into t values(4,'LL');

####Session 1, 解除读锁-锁表t
mysql> UNLOCK table;
Query OK, 0 rows affected (0.00 sec)

在mysql中的表锁,LOCK TABLE t WRITE; 用写锁锁表,会阻塞其他事务读和写
===================================================================
####Session 1
mysql> select * from t;
+------+------+
| id   | name |
+------+------+
|    1 | WW   |
|    2 | SS   |
|    3 | VV   |
+------+------+
3 rows in set (0.00 sec)

####Session 1,写锁-锁表t
mysql> LOCK TABLE t WRITE;

####Session 2,读取数据被阻塞
mysql> select * from t where id=1;

####Session 2, insert数据被阻塞
mysql> insert into t values(4,'LL');

####Session 1, 解除读锁-锁表t
mysql> UNLOCK table;
Query OK, 0 rows affected (0.00 sec)
=================================================================

--待续

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/725820/viewspace-2712150/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Linux的stat命令
请登录后发表评论 登录
全部评论
喜欢各种数据库相关的开发,架构设计,运维和性能优化
  • 博文量
    244
  • 访问量
    92803