Mysql5.6-DDL是否加锁
版本:Mysql 5.6.12-log
一.添加/删除 字段[所有]、索引(非主键)
#gift_id:是表t_wiki_gifts的主键。
1.1 添加字段name2,不加锁。
session1:alter table t_wiki_gifts add column name2 varchar(32) notnull default 'bb';
session2:update t_wiki_gifts set GIFT_PRICE=4000 where gift_id=100000000001;
1.2 删除字段name,不加锁。
session1:alter table t_wiki_gifts drop column name ;
session2:update t_wiki_gifts set GIFT_PRICE=3000 wheregift_id=100000000001;
二.修改字段(加metadata lock)
Session1: alter table t_wiki_gifts modify column name2 varchar(64)not null default 'cc';
Session2: update t_wiki_gifts set GIFT_PRICE=4000 where gift_id=100000000001;
三.删除主键、主键字段 [加table metadata lock]
session1: alter table t_wiki_gifts DROP PRIMARY KEY;
session2: update t_wiki_gifts set GIFT_PRICE=8000 wheregift_id=100000000001;
session1:alter table t_wiki_gifts drop column gift_id;
session2:update t_wiki_gifts set GIFT_PRICE=1000 whereadmin_id=100000000221;
总结:修改字段、删除主键、删除主键字段都会加metadata lock,建议使用pt-online-schema-change在线选取合适的时间执行。
转载于:https://blog.51cto.com/huanghualiang/1377897
Mysql5.6-DDL是否加锁相关推荐
- MySQL编码引发的两个问题
2019独角兽企业重金招聘Python工程师标准>>> 概述 先讲一下写该文章的原因,首先,工作中又遇到一条很熟悉的MySQL报错信息 Cause: java.sql.SQLExce ...
- Oracle-锁解读
概念 Oracle-OLAP和OLTP解读 Oracle-index索引解读 Oracle-分区表解读 Oracle-锁解读 Oracle-等待事件解读 Oracle-procedure/cursor ...
- oracle锁概念,阻塞
一.锁(Lock) 1.1 锁的概念 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据 ...
- 锁 死锁 阻塞 Latch 等待 详解
锁这东西是纯概念性的东西,但是作用又非常大.以前整理过两篇文章,今天又看了点书,觉得还不是很清楚.就重新整理了下.在想要不要把以前的文章删掉,这样在blog里是比较简介的,但后来又一想.这些连接在其他 ...
- mysql ddl crash,MySQL5.6 crash-safe replication一个坑
题图:<唐伯虎点秋香> 版本背景 1)操作系统 cat /proc/versionLinux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.r ...
- mysql 5.6 ddl 锁表_MySQL数据库之MySQL5.6 Online DDL 是否锁表、rebuild表、inplace的说明...
本文主要向大家介绍了MySQL数据库之MySQL5.6 Online DDL 是否锁表.rebuild表.inplace的说明 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. O ...
- mysql onlibe all_MySQL Online DDL
虽然FIC可以让InnoDB存储引擎免创建临时表,从而提高索引创建的效率.但正如前面所说,索引创建时会阻塞表上的DML操作.OSC虽然解决了上述的部分问题,但是还是有很大的局限性.MySQL5.6版本 ...
- mysql怎么在海量数据上ddl_浅谈MySQL Online DDL(中)
本文首发于个人微信公众号<andyqian>,期待你的关注! 前言 在上一篇文章中<浅谈MySQL Online DDL (上)>中,我们谈到了MySQL Online DDL ...
- [MySQL Bug]DDL操作导致备库复制中断
----------------- 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住.这会导致 ...
最新文章
- Error in apply(df$var1, 2, mean) : dim(X) must have a positive length
- Dubbo 源码分析 - 集群容错之 Router
- 第四范式送上2022虎年祝福
- linux 中 ~/.和$
- CodeForces - 1228B Filling the Grid(思维,水题)
- 年仅53岁,因连续工作、过度劳累,这位抗疫幕后的科研专家去世
- (转)java动态代理与aop
- mysql 举例_MySQL 语句举例(一)
- 信息学奥赛一本通(2055:【例3.5】收费)
- storm计数器(小白看懂系列)
- 数组保存为灰度图_「PS抠图系列9」通道
- maven的一些依赖
- 【转】MySQL日期时间函数大全
- 【2020/05/29 开庭】韦东山:闲鱼与盗版更配,坚决打击盗版,起诉到底绝不和解!
- 3Ds Max 精简材质编辑器 一片黑问题
- 轻量级openpose解析
- 程序员面试之九阴真经
- 面向对象编程——类和对象
- linux 时区 0900是哪,c#-解析DateTime的时区为PST / CEST / UTC /
- 开学后,高一高二的分班考该如何准备?