09 2012 档案
摘要:背景:最近,线上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
阅读全文