mysql5.5复制环境中的一个bug

  1. mysql5.5,主从复制环境中
  2. binlog格式是ROW时
  3. 有表使用了mrg_myisam引擎

以上三个条件都满足时,恭喜你,当你insert一条记录时,你会看到从库不停的在重启,每次重启都做crash recovery。

这个bug存在于所有5.5版本中,bug记录:https://bugs.mysql.com/bug.php?id=73635。

解决办法:

  1. 升级到5.6版本,亲测5.6已修复该bug。
  2. 改binlog格式。
  3. 改引擎吧,不使用mrg_myisam引擎。
时间: 2024-11-06 09:56:22

mysql5.5复制环境中的一个bug的相关文章

Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明. 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个测试实例来测试升级等.在这种情况下,你的 Confluence 可以回运行 2 个不同的版本,而且也是非常常见的.这个文档将会知道你如何拷贝生产环境中的数据到一个测试实例中,同时测试环境的版本和生产环境中的版本还有可能是不同的. 在开始这个操作指南之前,

记录一个使用HttpClient过程中的一个bug

最近用HttpClient进行链接请求,开了多线程之后发现经常有线程hang住,查看线程dump java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketI

微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug

开篇介绍 前些天自己在整理 SSIS 2012 资料的时候发现了一个功能设计上的疑似Bug,在 Script Task 中是可以给只读列表中的变量赋值.我记得以前在 2008 的版本中为了弄明白这个配置,还特意测试过这个细节,获取错误并理解了这个功能.但是现在回去再次测试 2008 的版本时,发现这个功能在 2008 中其实也是错误的,把我印象中的测试结果完全给推翻了,所以到现在已经搞不清楚我当时到底是如果得出这个错误的. 疑似功能 Bug 描述 在 SSIS 包中定义了用户自定义变量 - PV

yarn client中的一个BUG的修复

org.apache.spark.deploy.yarn.Client.scala中的monitorApplication方法: /** * Report the state of an application until it has exited, either successfully or * due to some failure, then return a pair of the yarn application state (FINISHED, FAILED, * KILLED,

在OpenStack环境中创建一个VM实例

在OpenStack平台上创建一个VM实例,在OpenStack组件间一般会经历以下过程: 以某个有创建VM权限的账户登录到OpenStack环境(Web环境或者命令行环境):账户发起创建VM的请求,Keystone认证通过后发给该账户token:账户凭token调用nova-api创建VM:nova-api将账户户要创建的VM资源信息发给nova-scheduler,由nova-scheduler调度VM承载机器:承载机器上的nova-compute从nova-conductor处获得flav

C++ 写类中的一个bug修复

 #include"wz.h"  #include"sts.h" class _string {     friend std::istream& operator>>(std::istream& is, _string& a);//bug 1 2     friend std::ostream& operator<<(std::ostream& os,_string& a);       pu

VS 中的一个BUG?求大神帮我解答下。

首先,希望知道这个问题的人能够帮我解答下. 来看代码: int main() { long long int result=-321; cout<<result<<endl; if(INT_MIN==-2147483648) cout<<"相等"<<endl; if( result<-2147483648) cout<<"1"<<endl; if( result<INT_MIN) c

js数据计算中的一个bug,9.44+4.8计算结果竟然是14.239999999999998

在使用js计算数据时,遇到一个很奇怪的问题,9.44+4.8计算结果竟然是14.239999999999998这个??很夸张. 于是享有经验的同事请教,这是怎么回事,原来是js的bug,在减法时,经常出现,加法时出现的少,需要修正,修正方式有两种,一种是转化为整数,另一种是使用toFixed() ,还有一种方式就是给加上一个很小的数,例如0.000000001,然后在取几位小数 第一种方法:使用整数的方法: alert( (9.44*100+4.8*100)/100.0) 第二种方法:使用toF

业务零影响!如何在Online环境中巧用MySQL传统复制技术【转】

业务零影响!如何在Online环境中巧用MySQL传统复制技术 这篇文章我并不会介绍如何部署一个MySQL复制环境或keepalived+双主环境,因为此类安装搭建的文章已经很多,大家也很熟悉.在这篇文章里,我主要是介绍MySQL复制技术在Online[在线业务系统]环境里如何进行架构上的调整,同时这些调整对在线业务系统的影响又是尽可能的小甚至是零影响.希望大家能有所收获. 1MySQL复制中的监控管理 大家都知道,MySQL复制(不论是经典传统复制还是5.6新引入的GTID复制)都是以io_t