首页 > 数据库技术 > 详细

mysql 全局锁和表锁

时间:2021-06-30 10:55:44      阅读:19      评论:0      收藏:0      [点我收藏+]

1 mysql 根据锁的范围分为 全局锁,表级锁,和行级锁。


2 全局锁
  2.1 全局锁会让整个表变成只读的状态。一般用在 数据的逻辑备份。
  2.2 mysql 可是使用 Flash table with read lock (FTWRL) 给全局添加读锁。
  2.3 mysql官方自带的逻辑备份工具是 mysqldump。当mysqldump 使用参数 -single-transaction 的时候,数据启动之前就会启动一个事务,保证拿到数据的                一致性。
          但是 single-transaction 方法只适用于所有的表示用事务引擎的库。 MySAM 就不支持事务引擎。


3 表级锁
  3.1 表级锁,有2种,一种是表锁,一种是元数据锁(meta data lock MDL)。
  3.2 表锁的语法是 lock table .. read/write 就是对表进行操作前,先拿到锁。
  3.3 MDL 不需要显示添加,在表操作的时候,会默认加上,就是为了防止,数据不一致。
  3.4 为了防止ddL小表,阻塞整个数据库,需要 解决长事物问题。 设置DDL超时时间,或者kill 长事务。

mysql 全局锁和表锁

原文:https://www.cnblogs.com/prader6/p/14952834.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!