文章 2016-12-06 来自:开发者社区

RDS for MySQL Online DDL 使用

RDS for MySQL Online DDL 使用   Online DDL 的限制 Online DDL 建议的选项 异常处理 RDS for MySQL 5.6、5.7 版本支持 Online DDL 特性。 Online DDL 功能允许在表上执行 DDL 的操作(比如创建索引)的同时不阻塞并发的 DML (Insert、Update、Delete、Replace)操作 和.....

文章 2016-12-05 来自:开发者社区

MySQL中的online DDL(第一篇)(r11笔记第3天)

记得有一天快下班的时候,一位开发同事找到我说,需要对一个表做变更,数据量据说有上千万,而当时是使用的MySQL版本是5.5,这可如何是好,对于在线业务要求高的情况下,这种需求真是让人头疼。 而在早期的版本中,这种问题就更让人无语了。在Oracle中这个问题解决的较早,当然在很多技术实现细节上,Oracle和MySQL还是蛮大的差距。Oracle中有在线重定义的方案物化视图prebuilt和...

问答 2016-07-31 来自:开发者社区

对于MYSQL 线上做DDL会锁表,你们怎么处理的?

MYSQL 线上做DDL

文章 2016-05-23 来自:开发者社区

MySQL · 捉虫动态 · MySQL DDL BUG

背景 MySQL保存了两份元数据,一份在server层,保存在FRM文件中,另外一份在引擎层,比如InnoDB的数据字典中,这样也就造成了DDL语句经常导致元数据不一致的情况,下面介绍两个近期出现的因为DDL产生的bug。 rename 外键引用的column BUG复现过程 CREATE TABLE t1 (a INT NOT NULL, b INT NOT ...

文章 2016-05-23 来自:开发者社区

MySQL内核月报 2015.01-MySQL · 新增特性· DDL fast fail

背景 项目的快速迭代开发和在线业务需要保持持续可用的要求,导致MySQL的ddl变成了DBA很头疼的事情,而且经常导致故障发生。本篇介绍RDS分支上做的一个功能改进,DDL fast fail。主要解决:DDL操作因为无法获取MDL排它锁,进入等待队列的时候,阻塞了应用所有的读写请求问题。 MDL锁机制介绍 首先介绍一下MDL(METADATA LOCK)锁机制,MySQL为了保证表结构的完整性....

文章 2016-05-10 来自:开发者社区

MySQL 5.7: 新增的online DDL操作

(这是个汇总文章,后续有新的Online DDL操作 会不断更新…) 1. 支持ALTER TABLE t1 RENAME INDEX idx1 to idx2; (Server层)语法支持的worklog: http://dev.mysql.com/worklog/task/?id=6555 (Innodb层)Online DDL的worklog: http://dev.mysql.com/w....

文章 2016-05-10 来自:开发者社区

[MySQL 5.6] MySQL 5.6 online ddl 使用、测试及关键函数栈

本文主要分为三个部分,第一部分是看文档时的笔记;第二部分使用sysbench简单测试了下性能损耗;第三部分阐述了关键函数栈,但未做深入 前言 Online DDL是MySQL 5.6的重要特性之一,特别是对于不可间断的互联网服务而言意义非凡。尽管我们已经通过工具来实现了在线DDL,但由于借助了触发器来获取增量数据,很难保证不会触发BUG,我们在5.1版本上广泛使用了内部开发的myddl,曾经...

文章 2016-05-10 来自:开发者社区

[MySQL Bug]对一个已经discard tablespace的表做DDL导致crash

————————————————– 该Bug在MySQL的内部版本号为bug13943231,并且很容易触发该BUG 1.Test case: create table t1(c1 int) engine=innodb; alter table t1 discard tablespace; alter&nbs...

文章 2016-05-10 来自:开发者社区

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

————————————————- 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住。这会导致如下问题(MySQL bug#989) master: 未提交的事务,但SQL已经完成(binlog也准备好了),表schema发生更改,在commit的时候不会被察觉到。 slave: 在bin.....

文章 2016-04-13 来自:开发者社区

【MySql】M-M 架构下的 DDL 一则

        一个应用的表 auto_inrement 字段为int 类型的,当前已经用了完了!需要重建表结构,又因为生产环境是M-M 架构,为了不影响应用对所操作表的访问,先操作一个备库,执行切换,再操作另一个数据库! 注意 使用  set sql_log_bin=0; 防止对另外的master的影响! 大致的步骤如下: 1 连接备库 ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。