全局锁
# 加全局锁命令
Flush tables with read lock;
对整个数据库实例加锁,使整个库处于只读状态
# 解锁
unlock tables;
当使用Flush tables with read lock;
命令加锁,如果客户端断开,则整个库会回到可以正常更新状态。
表级锁
# 加表级锁命令
lock tables (表名..) read/write
例:
lock tables t1 read,t2 write;
当线程A使用lock tables t1 read,t2 write;
命令,那么其它线程在更新t1表时堵塞,在读t2表时堵塞,直到A线程使用unlock tables;
命令解锁