1、查看数据库哪些表被锁过
show OPEN TABLES where In_use > 0;
2、加锁
lock table t_emp read;
3、解锁
UNLOCK TABLES;
表锁:
读锁总结:
加读锁操作的线程不能查别的表,
其他线程更新会被阻塞,等待加上的线程释放锁。
写锁总结:
加写锁的线程不能查别的表
其他线程查询会被阻塞,等待加上的线程释放锁。
查看数据库锁情况:
show status like ‘%table%’;
行锁:
锁同一行记录,第一个线程先获得锁,第二个线程将阻塞,等第一个线程commit后,第二个线程将执行。
锁不同一行记录,互不阻塞。