首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql 5.6至5.1复制

Mysql 5.6至5.1复制
EN

Stack Overflow用户
提问于 2016-03-22 09:48:14
回答 2查看 2K关注 0票数 1

我知道mysql不支持这一点。但根据http://dev.mysql.com/doc/refman/5.6/en/replication-compatibility.htmlhttps://serverfault.com/questions/262936/is-replication-from-mysql-5-5-master-to-a-5-1-slave-possible的说法,这是可能的。

我正在讨论这个问题:

中继日志读取失败:无法解析中继日志事件项。 可能的原因是:

  • 主二进制日志已损坏(您可以通过在二进制日志上运行“mysqlbinlog”来检查这一点),
  • 从服务器的中继日志已损坏(您可以通过在中继日志上运行“mysqlbinlog”来检查它),
  • 网络问题,或主或从的MySQL代码中的错误。

如果您想检查主程序的二进制日志或从服务器的中继日志,您将能够通过在这个从服务器上发出'SHOW SLAVE STATUS‘来知道它们的名称。

绑定日志没有损坏,但即使我重置复制,中继日志也已损坏。主人身上没有腐败。只有奴隶才有腐败。

它似乎只发生在utf8表上。具体来说,在对utf8表进行更改之前,中继日志中没有损坏。

是否有修正或5.6至5.1不可能?

EN

回答 2

Stack Overflow用户

发布于 2016-03-22 10:15:16

Mysql文档并没有说不同版本的复制是不可能的,但是它说低版本(主版本)到更高版本(从版本)是可以的,但是如果相反,可能会出现问题。

假设新版本支持某些新功能,但在这种情况下不支持旧版本,那么当该语句将在旧版本上复制时,就会产生问题。

例如,在5.4中引入了存储过程,所以如果在主5.6中使用此功能,那么在5.1版本上复制时会出现问题。

另一个例子可能是hot,因为它是在mysql 5.6中引入的,这是默认特性,因此如果您在5.6之前复制到旧版本,这可能会产生问题(我不是只检查了一个示例)。

但是在这里,您的问题似乎是不同的,因为您说二进制日志显示,即使在主服务器上,二进制日志也被破坏了,这不应该是由于不同版本的复制造成的。因此,首先检查二进制日志的问题是什么。

即使在附加一个从之前,只需在启用binlog之后启动您的主程序,如果一切正常,就尝试读取binglogs,然后您可以尝试使用它附加一个从服务器,并且可以检查是否有5.6到5.1复制是可能的。

票数 1
EN

Stack Overflow用户

发布于 2017-03-17 07:01:09

默认情况下,MySQL 5.6.6和更高版本使用CRC32校验和来处理二进制日志记录。为了读取MySQL 5.1和5.5,应该使用变量启动主程序

代码语言:javascript
复制
binlog-checksum = NONE

该变量在运行时也可用:

代码语言:javascript
复制
set global binlog_checksum='NONE';

通常的信息是:

Last_IO_Error:当从二进制日志读取数据时,从主日志中获得致命错误1236:“从服务器无法使用主日志配置的校验和处理复制事件;

应该注意的是,这个变量是在MySQL 5.6.2中引入的,默认值为'NONE‘。

参考文献

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36150992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档