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

MySQL · 捉虫动态 · 并行复制外键约束问题二

背景 并行复制可以大大提高备库的 binlog 应用速度,内核月报也多次对并行复制特性进行介绍,感兴趣的朋友可以回顾下:5.6 并行复制实现分析、5.6 并行复制恢复实现 和 5.6并行复制事件分发机制。 在早期的内核月报,有一篇 并行复制外建约束问题,介绍阿里在 5.5 版本中自己实现并行复制时遇到的外键约束问题,本文接着前作继续介绍并行复制外键约束问题,这次场景不...

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

MySQL · 捉虫动态 · order by limit 造成优化器选择索引错误

问题描述 bug 触发条件如下: 优化器先选择了 where 条件中字段的索引,该索引过滤性较好; SQL 中必须有 order by limit 从而引导优化器尝试使用 order by 字段上的索引进行优化,最终因代价问题没有成功。 复现case 表结构 create table t1( id int auto_increment primary key, a int, b ...

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

MySQL · 捉虫动态 · ORDER/GROUP BY 导致 mysqld crash

问题描述 表结构如下所示: show create table test\G Table: test Create Table: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id2` varchar(50) DEFAULT NULL `id3` varchar(100) DE...

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

MySQL · 捉虫动态 · MySQL 外键异常分析

外键约束异常现象 如下测例中,没有违反引用约束的插入失败。 create database `a-b`; use `a-b`; SET FOREIGN_KEY_CHECKS=0; create table t1(c1 int primary key, c2 int) engine=innodb; create table t2(c1 int primary key, c2 int) engine....

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

MySQL · 捉虫动态 · 删除索引导致表无法打开

问题背景 最近线上遇到一个问题,用户重启实例后发现有张表打不开了,经调研后发现是用户之前的霸蛮操作导致的,下面给出复现步骤: create table t1 (id int not null primary key, name varchar(100) not null) engine=innodb; create table t2 (id int not null primary key, f....

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

数据库内核月报 - 2015 / 10-MySQL · 捉虫动态 · start slave crash 诊断分析

问题现象 研发同学执行下列语句序列 stop slave; set global slave_parallel_workers=0; start slave; 后程序 hang 住,不一会返回了2013 错误,即服务器连接异常中断,检查 mysqld error log, 发现在mysqld在将并行复制转化为串行复制的过程中异常 crash,其中错误信息为: [ERROR] Error rea.....

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

数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · BUG 几例

随着RDS MySQL用户越来越多,隐藏很久很深的bug也逐渐被挖出来了,下面分享一下最近遇到的三例bug,都是官方版本存在的。 trigger/function中drop temporary table导致slave中断 只有5.6受到影响。 复现步骤 打开gtid_mode=ON create function `test_func_1` () returns varchar(30) ch.....

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

数据库内核月报 - 2015 / 08-MySQL · 社区动态 · MariaDB InnoDB表空间碎片整理

介绍 当你对InnoDB进行修改操作时,例如删除一些行,这些行只是被标记为“已删除”,而不是真的从索引中物理删除了,因而空间也没有真的被释放回收。InnoDB的Purge线程会异步的来清理这些没用的索引键和行,但是依然没有把这些释放出来的空间还给操作系统重新使用,因而会导致页面中存在很多空洞。如果表结构中包含动态长度字段,那么这些空洞甚至可能不能被InnoDB重新用来存新的行,因为空间空间长度不....

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

数据库内核月报 - 2015 / 08-MySQL · 社区动态 · MySQL5.6.26 Release Note解读

最近上游发布了MySQL 5.6.26版本,从Release Note来看,MySQL 5.6版本已经相当成熟,fix的bug数越来越少了。本文主要分析releae note上fix的相关bug,去除performance scheama、mac及windows平台、企业版、package相关内容。从本期开始,我们会在新版本发布时,在当月的月报上为大家做详细的版本Release Note分析。 ....

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

数据库内核月报 - 2015 / 08-MySQL · 社区动态 · InnoDB Page Compression

背景:Punch hole和Sparse file Punch hole是一个需要操作系统和文件系统支持的特性,顾名思义就是在文件中打洞。这个特性的目的是为了减少数据文件的磁盘开销。比如一个大文件中有一部分数据我们是不需要的,就可以通过punch hole特性将其删除,相当于在文件中打了个洞,这个洞是不占用磁盘的。 Punch hole特性通过fallocate调用来实现,在其第二个参数指定fl....

数据库内核月报 - 2015 / 08-MySQL · 社区动态 · InnoDB Page Compression

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