服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

2020-05-14 14:41胡儿胡儿 Mysql

这篇文章主要介绍了当mysql服务器为mysql5.6时,mysqlbinlog版本不对可能导致出哪些问题,下面通过模拟2种场景分析此类问题,需要的朋友可以参考下

首先要确定当前版本是不是mysqlbinlog版本,当不是mysqlbinlog版本时可能会导致出哪些问题,下面通过模拟场景的方法给大家做介绍,希望对大家有所帮助。

看当前mysqlbinlog版本的方法:

?
1
2
mysqlbinlog --version
    mysqlbinlog Ver 3.3 for Linux at x86_64

场景1:mysql服务器为mysql 5.6,要求mysqlbinlog版本为3.4及以上,否则mysqlbinlog解析时会直接报错,之前已经碰到过很多次,但是没有记录具体的报错信息,貌似和position位置不存在的报错信息差不多,后来改用mysqlbinlog 3.4版本以后方可解析;

场景2:今天帮客户做一个db恢复,备份文件是全库备份,恢复却只能恢复某个db到一个特定的时间点。方法如下:mysql加上-o database_name参数执行全备份的sql文件,然后用mysqlbinlog的-d database_name参数解析指定库的binlog文件,期间使用到了mysqlbinlog,mysql server是5.6,mysqlbinlog版本是3.3,结果mysqlbinlog解析并没有报错,执行报错,查看解析出来的binlog有很多乱码,起初以为是字符集的问题,但查了半天也没发现问题。后来才尝试用3.4版本的mysqlbinlog解决了这个问题,类似的乱码如下图

当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

总结:当mysql服务器版本是5.6时,一定切记要使用版本>=3.4的mysqlbinlog

希望以上内容对大家有所帮助。

延伸 · 阅读

精彩推荐