摘要:
本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-has-gone-away/在平时和开发的交流 以及 在论坛回答问题的或称中会发现这个问题被问及的频率非常高。程序中报错... 阅读全文
摘要:
背景:今日看到一个bug:http://bugs.mysql.com/bug.php?id=67448大义就是配置 global & session max_allowed_packet 后,client仍然会报:ERROR 2020 (HY000): Got packet bigger than 'max_allowed_packet' bytes 这样的错误。觉得和之前自己的理解有偏差,所以做了具体实验,并记录成此博客。1. 环境准备生成一个32M大小的文件,并导入到表的一个字段中#! /bin/shi=0;while [ $i -lt 33554432 ]doec 阅读全文
摘要:
本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-book-for-newbie/前言:在chinaunix上总是有很多同学咨询想学习数据库,或者是为入行DBA做些准备。... 阅读全文
摘要:
背景:卖咖啡在5月份推出了MySQL Audit Plugin,经过几个月的更新,目前已经是1.0.2版本。Oracle在收购MySQL以后,同样也在5.5的Audit API基础上推出了 MySQL Audit Plugin。本次测试就是基于这两款产品进行的。正文:技术对比:OracleMcAfe... 阅读全文
摘要:
本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,如果显示不正常请使用此链接:http://cenalulu.github.io/mysql/innodb-single-tablespace-recovery/前言:随着innodb的普及,innobackup也... 阅读全文
摘要:
前言:最近Oracle MySQL在其官方Blog上贴出了 5.6中一些变量默认值的修改。其中innodb_old_blocks_time的默认值从0替换成了1000(即1s)关于该参数的作用摘录如下:how long in milliseconds (ms) a block inserted into the oldsublistmust stay there after its first access before it can be moved to the new sublist.Increasing this value protects against the buffer po 阅读全文
摘要:
背景:最近,线上Row Based Replication(下称RBR)环境中遇到了一个Bug。这个bug简单的描述就是:RBR对于DML需要通过table-map的event来标注每一个有更新的表。而当一个DML同时操作多个表,且其中2个表的mapid相同时(通常为0),会导致slave执行这个event时crash,并重启mysqld实例可见这个bug的毁灭性极大。那么table-map-id 究竟从何而来?有什么办法知道每个表table-map-id,从而进行一些必要的监控呢?下文将用几个例子来进行分析说明。1. table-map-id 和 Innodb的table-id是否是同一个概 阅读全文
摘要:
这周GitHub网站发生了两次重大的不可访问事故,以及若干小时的服务降级。GitHub运维团队特地发了一篇Blog来总结整个事件的过程。事故的主要原因可以归结为:1. 数据库的Active角色在不应该发生failover切换时,进行了切换。 First, several failovers of the 'active' database role happened when they shouldn't have. 2. 数据库集群发生了脑裂,导致集群管理软件(Pacemaker+HeartBeat)做了错误的操作。Second, a cluster partitio 阅读全文
摘要:
最近不止一次的被问及这么一个问题:一个含有TEXT字段的宽表,是否有必要把TEXT拆分出去作为一个独立的表,来提高性能?下面谈谈我个人的看法:一般来说,将TEXT字段,从一张操作频繁的表中拆分出去,成为一个Key-Value结构的独立表是 好处颇多的。其有利之处主要体现在下面三个方面:PS:以下的讨论对象均基于Innodb引擎1. 便于运维由于目前Innodb-plugin对于大多数DDL都是会有TABLE-LOCK的。这也就意味着,一张表的DDL时间越长,业务的不可访问时间也就越长。而决定一条DDL命令执行时长的两个关键因素就是:表行数,表物理文件大小。TEXT字段的拆分独立,能够很有效的减 阅读全文
摘要:
本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/column-row-reverse/本博客已经迁移至:http://cenalulu.github.io/前言:由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储... 阅读全文