版本: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是否加锁相关推荐

  1. MySQL编码引发的两个问题

    2019独角兽企业重金招聘Python工程师标准>>> 概述 先讲一下写该文章的原因,首先,工作中又遇到一条很熟悉的MySQL报错信息 Cause: java.sql.SQLExce ...

  2. Oracle-锁解读

    概念 Oracle-OLAP和OLTP解读 Oracle-index索引解读 Oracle-分区表解读 Oracle-锁解读 Oracle-等待事件解读 Oracle-procedure/cursor ...

  3. oracle锁概念,阻塞

    一.锁(Lock) 1.1 锁的概念 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据 ...

  4. 锁 死锁 阻塞 Latch 等待 详解

    锁这东西是纯概念性的东西,但是作用又非常大.以前整理过两篇文章,今天又看了点书,觉得还不是很清楚.就重新整理了下.在想要不要把以前的文章删掉,这样在blog里是比较简介的,但后来又一想.这些连接在其他 ...

  5. mysql ddl crash,MySQL5.6 crash-safe replication一个坑

    题图:<唐伯虎点秋香> 版本背景 1)操作系统 cat /proc/versionLinux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.r ...

  6. mysql 5.6 ddl 锁表_MySQL数据库之MySQL5.6 Online DDL 是否锁表、rebuild表、inplace的说明...

    本文主要向大家介绍了MySQL数据库之MySQL5.6 Online DDL 是否锁表.rebuild表.inplace的说明 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. O ...

  7. mysql onlibe all_MySQL Online DDL

    虽然FIC可以让InnoDB存储引擎免创建临时表,从而提高索引创建的效率.但正如前面所说,索引创建时会阻塞表上的DML操作.OSC虽然解决了上述的部分问题,但是还是有很大的局限性.MySQL5.6版本 ...

  8. mysql怎么在海量数据上ddl_浅谈MySQL Online DDL(中)

    本文首发于个人微信公众号<andyqian>,期待你的关注! 前言 在上一篇文章中<浅谈MySQL Online DDL (上)>中,我们谈到了MySQL Online DDL ...

  9. [MySQL Bug]DDL操作导致备库复制中断

    ----------------- 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住.这会导致 ...

最新文章

  1. Error in apply(df$var1, 2, mean) : dim(X) must have a positive length
  2. Dubbo 源码分析 - 集群容错之 Router
  3. 第四范式送上2022虎年祝福
  4. linux 中 ~/.和$
  5. CodeForces - 1228B Filling the Grid(思维,水题)
  6. 年仅53岁,因连续工作、过度劳累,这位抗疫幕后的科研专家去世
  7. (转)java动态代理与aop
  8. mysql 举例_MySQL 语句举例(一)
  9. 信息学奥赛一本通(2055:【例3.5】收费)
  10. storm计数器(小白看懂系列)
  11. 数组保存为灰度图_「PS抠图系列9」通道
  12. maven的一些依赖
  13. 【转】MySQL日期时间函数大全
  14. 【2020/05/29 开庭】韦东山:闲鱼与盗版更配,坚决打击盗版,起诉到底绝不和解!
  15. 3Ds Max 精简材质编辑器 一片黑问题
  16. 轻量级openpose解析
  17. 程序员面试之九阴真经
  18. 面向对象编程——类和对象
  19. linux 时区 0900是哪,c#-解析DateTime的时区为PST / CEST / UTC /
  20. 开学后,高一高二的分班考该如何准备?

热门文章

  1. 代码生成器:IDEA 强大的 Live Templates
  2. 这样讲 SpringBoot 自动配置原理,你应该能明白了吧
  3. 拼多多面试:如何用 Redis 统计独立用户访问量?
  4. 阿里巴巴的技术专家,是如何画好架构图的?
  5. 数据质量和模型调优哪个更重要?
  6. 百度开放AI应用学习!
  7. 一图胜千言!数据可视化多维讲解
  8. 【廖雪峰python入门笔记】list_创建
  9. 腾讯公布 23 年前第一间办公室照片,太有年代感了
  10. 华为,再牵手一流大学