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

数据库内核月报 - 2015 / 07-MySQL · 社区动态 · MySQL内存分配支持NUMA

NUMA 问题曾经一直是困扰DBA的一个大问题,早在 2010 年, 就有人给MySQL报了Bug#57241, 指出了MySQL在x86系统下存在严重的 “swap insanity” 问题。在NUMA架构越来越普遍的今天,这个问题越来越严重。 MySQL的 swap insanity 问题 有同学专门翻译了Jeremy Cole关于 “swap insanity”...

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

MySQL · 社区动态 · MariaDB Role 体系

背景 从 MairaDB 10.0.5 开始,MariaDB 开始提供 Role(角色)的功能,补全了大家一直吐槽的 MySQL 不能像 Oracle 一样支持角色定义的功能。 一个角色就是把一堆的权限捆绑在一起授权,这个功能对于有很多用户拥有相同权限的情况可以显著提高管理效率。在有角色之前,这种情况只能为每个用户都做一大堆的授权操作,或者是给很多个需要相同权限的用户提供同一个账号去使用,这又会....

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

数据库内核月报 - 2015 / 06-MySQL · 捉虫动态 · 任性的 normal shutdown

问题描述 在RDS生产环境中,一个MySQL实例莫名地被shutdown了, 日志中有如下信息: 150525 15:30:52 [Note] User 'userxx' issued shutdown command 150525 15:30:52 [Note] /path/to/mysqld: Normal shutdown 150525 15:30:52 [Note] Stop async....

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

MySQL · 捉虫动态 · ALTER IGNORE TABLE导致主备不一致

背景 我们知道当一张表的某个字段存在重复值时,这个字段没办法直接加UNIQUE KEY,但是MySQL提供了一个 ALTER IGNORE TABLE的方式,可以忽略修改表结构过程中出现的错误,但是要忽略UNIQUE重复值,就需要打开old_alter_table,也就是拷贝表的方式来ALTER TABLE。 例如这样: CREATE TABLE t1(c1 int) ENGINE = Inno....

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

MySQL · 捉虫动态 · 唯一键约束失效

唯一键是数据库设计中常用的索引类型,主要用于约束数据,不允许出现重复的键值记录。可以想象,如果唯一键约束失效了,将可能产生可怕的逻辑错误。本文主要讨论下最近MySQL爆出来的两个唯一键约束失效导致二级索引corruption的问题。 问题一: 检查重复键加锁逻辑不当 影响版本:MySQL 5.6.21之前,5.6.12之后的版本 介绍分析 在5.6.12之前的版本中,当插入一条带唯一约束的记录时....

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

数据库内核月报 - 2015 / 05-MySQL · 捉虫动态 · 临时表操作导致主备不一致

bug描述 在binlog_format=row模式下,事务中create或drop临时表后,后面再执行DML(影响多行的DML)如果失败,那么失败的DML会回滚,但DML仍然记录了binlog。这个 binlog 应用到备库后会导致主备不一致。 此bug已提给官方bug#76940。 以下是重现的测例: 主库执行 create table t1(c1 int primary key) eng.....

文章 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 来自:开发者社区

数据库内核月报 - 2015 / 05-MySQL · 捉虫动态 · 5.6 与 5.5 InnoDB 不兼容导致 crash

bug 背景 RDS的备份工具用的是 Percona-XtraBackup(后面简称PXB),这个工具包里有2个重要的工具,innobackupex和xtrabackup,后者是C编译出的二进制文件,负责备份 InnoDB 数据,前者是一个Perl 脚本,对后者进行封装,同时负责备份非 InnoDB 数据。xtrabackup 二进制里内嵌了InnoDB引擎,所以能很好的处理InnoDB数据。在....

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

MySQL · 捉虫动态 · 删被引用索引导致crash

bug描述 设置 foreign_key_checks=0 删除被引用的索引后,再设置foreign_key_checks=1,对引用表进行DML操作会导致 mysqld crash,以下是重现的测例: drop table if exists t2; drop table if exists t1; create table t1 (a int, b int, key idx1(a)) en.....

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

MySQL · 捉虫动态 · Relay log 中 GTID group 完整性检测

bug背景 官方 5.7.6 版本对 gtid 有非常多的改进和bugfix,其中有一个 bugfix 是针对 relay log 中没有接收完整的 gtid 事务的。正常的relay log 中的 gtid 事务应该是像下面这样: 1. gtid event 2. query event (begin) 3. row event (write/update/delete) 4. query e....

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