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

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

看当前mysqlbinlog版本的方法:

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解决了这个问题,类似的乱码如下图

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

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

(0)

相关推荐

  • mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法

    mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法 shell> mysql Client does not support authentication protocol requested by server; consider upgrading MySQL client 官方的说法是 MySQL 4.1 and up uses an authentication protocol based on 

  • 一键搞定python连接mysql驱动有关问题(windows版本)

    对于mysql驱动问题折腾了一下午,现共享出解决方案 1:手动安装驱动 完全是场噩梦,推荐大家采用自动安装 2:自动安装 下载自动安装包,下载地址:http://www.jb51.net/softs/73369.html 双击安装!安装完成后.已能正常对数据库操作 eg: import mysqldb con=mysqldb.connect(host='localhost',user='root',passwd='root',db='test') cursor = con.cursor() sq

  • MySql版本问题sql_mode=only_full_group_by的完美解决方案

    1.查看sql_mode select @@sql_mode 查询出来的值为: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2.去掉ONLY_FULL_GROUP_BY,重新设置值. set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZE

  • 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    MySQL 5.7.9版本sql_mode=only_full_group_by问题 用到GROUP BY 语句查询时com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not func

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

    首先要确定当前版本是不是mysqlbinlog版本,当不是mysqlbinlog版本时可能会导致出哪些问题,下面通过模拟场景的方法给大家做介绍,希望对大家有所帮助. 看当前mysqlbinlog版本的方法: mysqlbinlog --version mysqlbinlog Ver 3.3 for Linux at x86_64 场景1:mysql服务器为mysql 5.6,要求mysqlbinlog版本为3.4及以上,否则mysqlbinlog解析时会直接报错,之前已经碰到过很多次,但是没有记

  • MySql分页时使用limit+order by会出现数据重复问题解决

    目录 摘要 问题描述 分析问题 解决问题 摘要 能把复杂的知识讲的简单很重要 在学习的过程中我们看过很多资料.视频.文档等,因为现在资料视频都较多所以往往一个知识点会有多种多样的视频形式讲解.除了推广营销以外,确实有很多人的视频讲解非常优秀,例如李永乐老师的短视频课,可以在一个黑板上把那么复杂的知识,讲解的那么容易理解,那么透彻.而我们学习编程的人也是,不只是要学会把知识点讲明白,也要写明白. 问题描述 在 MySQL 中我们通常会采用 limit 来进行翻页查询,比如 limit(0,10)

  • MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程及发现问题解决方案

    一.如何安装? 1.[运行]->[cmd]打开小黑窗口.定位到MySQL安装目录[我的D:\Program Files\mysql-5.7.9-winx64]的bin目录下,输入[mysqld -install].如下图,表示安装成功 2.打开MySQL安装目录,找到[my-default.ini],配置一些简单的信息. # These are commonly set, remove the # and set as required. basedir = D:\Program Files\m

  • mysql安装时出现各种常见问题的解决方法

    小编为大家整理许多mysql安装时出现各种常见问题的解决方法,供大家参考,具体内容如下 问题一: 当各位在安装.重装时出现could not start the service mysql error:0 原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除. 安装到最后一步execute时不能启动服务的解决方法: 首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的),win+R->cmd,打开命令提示符窗口,输入命令:sc d

  • windows版本下mysql的安装启动和基础配置图文教程详解

    下载: 第一步 : 打开网址(进入官网下载) :https://www.mysql.com ,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https://dev.mysql.com/downloads/,选择Community选项 第三步 :点击MySQL Community Server进入https://dev.mysql.com/downloads/mysql/页面,再点击5.6版本的数据库 第四步:windows操作

  • 在windows上安装不同(两个)版本的Mysql数据库的教程详解

    1.起因: 需要导入一个sql文件,发现死活导不进去.当执行到这一句时,就有问题.经过一番搜索,原来是我的数据库版本(原先Mysql版本5.5)低了,而支持该语句的版本应该是至少要5.7.那我索性就去Mysql官网去下载了个最新版本的(8.0.15). `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP 2.过程: 那么问题来了:有两个解决方案.1.直接卸载掉5.5版本的Mysql,直接安装8.0.15版本的.2.在不卸

  • mysql查询时offset过大影响性能的原因和优化详解

    前言 mysql查询使用select命令,配合limit,offset参数可以读取指定范围的记录.本文将介绍mysql查询时,offset过大影响性能的原因及优化方法. 准备测试数据表及数据 1.创建表 CREATE TABLE `member` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL COMMENT '姓名', `gender` tinyint(3) unsigned NOT NU

  • 低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限

    目录 现象 根因分析 getLastPacketReceivedTimeMs()方法调用时机 解决方案 现象 应用升级MySQL驱动8.0后,在并发量较高时,查看监控打点,Druid连接池拿到连接并执行SQL的时间大部分都超过200ms 对系统进行压测,发现出现大量线程阻塞的情况,线程dump信息如下: "http-nio-5366-exec-48" #210 daemon prio=5 os_prio=0 tid=0x00000000023d0800 nid=0x3be9 waiti

  • 如何避免mysql启动时错误及sock文件作用分析

    在mysql的启动过程中有时会遇到下述错误 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 请问mysql.sock 这个文件到底起什么作用? 如何避免发生如此错误? 答案一. 这个mysql.sock应该是mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.通常遇到这个问题的原因就是你的mysql server没运

  • 微信昵称带符号导致插入MySQL数据库时出错的解决方案

    Mysql的utf8编码最多3个字节,而Emoji表情或者某些特殊字符是4个字节. 因此会导致带有表情的昵称插入数据库时出错. 只要修改MySQL的编码即可,解决方案如下: 1.在mysql的安装目录下找到my.ini,作如下修改: [mysqld] character-set-server=utf8mb4 [mysql] default-character-set=utf8mb4 2 重启mysql服务 3 修改表 ALTER TABLE 表名 CONVERT TO CHARACTER SET

随机推荐