按照锁的粒度来分可分为:全局锁(锁住当前数据库的所有数据表),表级锁(锁住对应的数据表),行级锁(每次锁住对应的行数据)
加全局锁:flush tables with read lock; //为当前实例加上全局锁
然后使用 mysqldump -u用户名 -p密码 备份的数据库名 > 要备份到的sql文件,注意mysqldump在windows命令行下执行。
备份完成使用unlock tables;
-------------------------------------------
表级锁分为表锁,元数据锁和意向锁
1.表锁:read lock 和 write lock 即共享读锁和独占写锁
客户端a加了读锁后,所有客户端都可以读,a不可以对该表更新,其他客户端的写操作会被阻塞,直到该锁被释放。
客户端a加了写锁后,当前a客户端对该表可读可写,但其他客户端的读写操作都会被阻塞
2.元数据锁
对一张表进行crud时会加上mdl读锁,对表结构进行变更时,会加上mdl写锁
3.意向锁(lock in share mode)
因为表锁和行锁冲突,表锁在添加时会检查每一行数据是否加了行锁,而意向锁的存在,使得免去了逐行检查行锁的必要,只要检查意向锁是否和要加的表锁兼容即可
意向锁分为:意向共享锁IS和意向排他锁IX
------------------------------------
行级锁,每次锁住对应的行数据,锁定的粒度最小,并发度最高,发生锁冲突的概率最低,在innoDB中应用。行级锁分为:行锁,间隙锁,临键锁
1.行锁是通过索引上的索引项加锁来实现的,而不是对记录加的锁,锁定了单个行记录,在RC,RR隔离级别下都支持
默认情况下,innoDB在RR隔离级别下运行,使用临键锁进行搜索和索引扫描来防止幻读
针对唯一索引,例如主键索引进行检索时,对已存在记录进行等值匹配,会自动优化为行锁
如果不通过索引检索数据,那么就会恶化为表锁
2.间隙锁,锁的是不含该记录的间隙,防止其他事务在这个间隙进行insert,产生幻读,在RR隔离级别下支持。
(1)给不存在的记录加锁时,会给相邻的记录之间加上间隙锁,注意不包含间隙两边的记录。
(2)当使用普通索引时,
例如为3加锁,这时会锁住3到7之间的间隙,即3之后第一个不满足查询需求的值,同时会把3和3之前加间隙锁,因为不知道是否会在3之前再插入一个3。
(3)当使用范围查询时,例如查询id >= 19 会对该19记录加上行锁,还会对满足查询的下一个记录25之间加上临键锁,即锁住19-25的间隙,然后再加一个临键锁,锁住25和25之后到正无穷的间隙
3.是行锁和间隙锁的结合,锁住数据的同时,锁住了间隙。
猜你喜欢
- 10天前(希尔顿2021活动)希尔顿集团618盛夏大促开启
- 10天前(艾美酒店连锁)艾美酒店全球夏日计划回归,联手Wishbone主厨推出创新冰饮
- 10天前(甘州区文化旅游局)2025甘津文旅资源对接推介会在兰州举办
- 10天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 10天前(2025年“文化和自然遗产日”广东主会场活动举办)2025年“文化和自然遗产日”广东主会场活动举办
- 10天前(重庆恐龙化石遗址)重庆黔江恐龙化石抢救性发掘新闻发布会举行
- 10天前(新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!)新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!
- 10天前(中国旅游集团旗下酒店)中国旅游集团酒店控股有限公司战略投资雅阁酒店集团
- 10天前(岭南东方大酒店)粤西成势 | 阳江阳春长兴岭南东方酒店正式签约,粤西文旅再添明珠
- 10天前(星级饭店的发展困境)星级饭店转型之路:从市场逻辑到行业实践的深度探索
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章