概念
- 讀鎖=共享鎖: 拿到讀鎖,不會阻塞其餘用戶的讀操做
select * from t_test lock in share mode;
- 寫鎖=排他鎖: 拿到寫鎖,其餘用戶任何操做都被阻塞
select * from t_test for update;
- 顯示調用表鎖
lock tables t_test read local;
unlock tables;
- 表鎖
lock tables t_test write;
- 查看鎖
show OPEN TABLES where In_use > 0;
注:innodb 的行鎖是在有索引的狀況下,沒有索引的表是鎖定全表的.3d
死鎖

第一種狀況
- t1拿到id=4的行鎖
- t2拿到id=5的行鎖
- t1試圖去拿id=5的行鎖
- t2試圖去拿id=4的行鎖,產生了死鎖


第二種狀況
- t1獲取讀鎖
- t2獲取寫鎖
- t1獲取寫鎖,產生了死鎖

