mysql分 全局锁,表锁,行锁。
全局锁
全局锁对整个数据库加锁。命令是 Flush tables with read lock (FTWRL)。当使用全局锁的时候,更新语句(增删改),表结构修改,表新增,更新类事务提交。也就是全库只读。
应用场景:全库逻辑备份。
表锁
表锁分两个级别:
一种是表锁语法 luck tables ...write/read。
另一种是MDL(metadata lock)。mdl不需要显示使用,在访问表的时候就会加上。对一个表增删改查加读锁,对一个表修改结构的时候增加写锁。