栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 前沿技术 > 大数据 > 大数据系统

数据库锁实战二

数据库锁实战二

一 实战
# 在客户端1,对 mylock 上写锁
mysql> lock tables mylock write;
Query OK, 0 rows affected (0.00 sec)

# 在客户端1,对 mylock 查询,成功
mysql> select * from mylock;
+----+------+
| id | name |
+----+------+
|  1 | a2   |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
+----+------+
5 rows in set (0.00 sec)

# 在客户端1,对 mylock 更新,成功
mysql> update mylock set name ='a2' where id =1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

# 在客户端1,对 dept 查询,失败
mysql> select * from dept;
ERROR 1100 (HY000): Table 'dept' was not locked with LOCK TABLES

# 在客户端2,对 dept 查询,成功
mysql> select * from dept limit 5;
+----+----------+------------+--------+
| id | deptName | address    | ceo    |
+----+----------+------------+--------+
|  1 | XkgdWALd | kPuELQZyuD | 330946 |
|  2 | EZhOwQRM | kOoeEHAEwt | 311519 |
|  3 | YXSwEFpJ | CIKzqiUVUL | 453423 |
|  4 | umbuTkwz | jxLmZowrtT | 121401 |
|  5 | EkoMSfXy | yVhYyuELUm | 287551 |
+----+----------+------------+--------+
5 rows in set (0.00 sec)

# 在客户端2,对 mylock 查询
# 查询阻塞

# 在客户端1,解锁
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

# 在客户端2,mylock 阻塞解除,出结果
mysql> select * from mylock;
+----+------+
| id | name |
+----+------+
|  1 | a2   |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
+----+------+
5 rows in set (38.48 sec)
二 小结

三 结论

读锁会阻塞写,但不会阻塞读。而写锁则会把读和写都阻塞。

四 表锁分析 1 哪些表加锁了
# 当 in_use 为 1,就是锁了
mysql> show open tables;
2 如何分析表锁定
mysql> show status like 'table_lock%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| Table_locks_immediate | 263   |
| Table_locks_waited    | 0     |
+-----------------------+-------+
2 rows in set (0.00 sec)

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号