文章目录
mysql按照锁的粒度分类
全局锁
概念:
全局锁就是对整个数据库实例加锁
。MySQL 提供了一个加全局读锁的方法,命令是:
Flush tables with read lock (FTWRL)。
当你需要让整个库处于只读状态的时候
,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。
,通俗的来说只能读取,不能写入,
解锁命令:
unlock tables
全局锁使用场景:
全局锁的典型使用场景是,做全库逻辑备份(mysqldump),对所有表进行锁定,从而获取一致性视图,保证数据的完整性,一致性
全局锁备份案例:
第一步:
使用命令
Flush tables with read lock
进行全局锁表;