iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何修复解析MySQL8.x binlog错位的问题
  • 516
分享到

如何修复解析MySQL8.x binlog错位的问题

2024-04-02 19:04:59 516人浏览 独家记忆
摘要

本篇内容主要讲解“如何修复解析Mysql8.x binlog错位的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何修复解析mysql8.x binlog错

本篇内容主要讲解“如何修复解析Mysql8.x binlog错位的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何修复解析mysql8.x binlog错位的问题”吧!

写在前面

Mysql互联网行业使用的最多的关系型数据库之一,而且MySQL又是开源的,对于MySQL的深入研究,能够加深我们对于数据库原理的理解。自从开源了mykit-data之后,不少小伙伴试用后,反馈mykit-data无法正确的解析MySQL8的binlog。于是我测试了下,mykit-data在解析MySQL5.x的binlog时,没有啥问题,能够正确的解析出结果数据。然而,在解析MySQL8.x的binlog时,总是与binlog日志位数相差12位而导致解析失败。

文章已收录到:

https://GitHub.com/sunshinelyz/technology-binghe

Https://gitee.com/binghe001/technology-binghe

问题修复

今天太晚了,我还在研究MySQL  8.0.20的源码,问题的修复过程后续再写一篇详细的文章来与小伙伴们分享下。这里,我就直接说我是如何解决这个问题的。

MySQL5.x binlog的解析结果与MySQL8.x binlog的解析结果总是存在位数偏差,框架原本的代码直接解析MySQL  5.x是没啥问题的,在解析MySQL 8.x的时候出现位数错位的问题。

期间,我几乎翻阅了MySQL的所有官方文档,把mykit-data中关于解析binlog日志的功能重新写了一遍,解析MySQL5.x没问题,解析MySQL8.x还是错位。

到底哪里出了问题呢?就在对于问题的解决一筹莫展的时候,突然,想到一个思路:解决MySQL8.x  binlog的时候不是总错位吗?那我就把多余位数的binlog数据读取出来,直接忽略掉,使后续binlog的解析操作对齐不就行了吗?

赶紧尝试一下,于是我在mykit-data框架的源码中,添加了如下代码。

如何修复解析MySQL8.x binlog错位的问题

上面代码是对解析MySQL  binlog位数的校验和读取的封装,当读取的binlog位数未达到读取的限制位数时,一直读取binlog的数据,直到读取的binlog位数达到读取的限制位数位置。具体内部的逻辑,小伙伴们可以阅读mykit-data的源码。

加上这个逻辑后,进行测试验证,解析MySQL 8.x数据库的binlog竟然成功了!!困扰我几天的问题就这么在不经意间解决了!!

从解决这个问题的结果来看,MySQL8.x的binlog在本质上比MySQL5.x的binlog位数要长,中间会拼接用来分隔不同事件位的标识,我们在解析MySQL8.x的binlog日志时,可直接忽略掉这些分隔不同事件位的标识,目的就是让binlog的解析位对齐,从而能够正确的解析出下一个事件。而这样处理,也不会影响解析结果。

很多时候就是这样,当你苦于解决某个问题,迟迟找不到解决方案而一筹莫展时,在某个不经意的瞬间,就会无意中解决这个棘手的问题,但前提是你需要深刻理解它的原理并尝试各种方式和方法来解决它!

关于mykit-data

mykit-data是一款完全开源的数据异构中间件,支持插件化、可视化的数据异构框架,支持MySQL到MySQL、MySQL到oracle、Oracle到MySQL、Oracle到Oracle的全量、实时/定时增量数据同步。完全的插件化、可视化操作。通过日志最大限度的避免同步过程中的数据丢失。支持失败重试,人工干预,支持查看同步的数据和详细的日志信息。

目前支持MySQL5.x、MySQL8.x,Oracle 11g及以上版本。后续会以插件的形式支持更多的异构数据源。例如,后续会增加:SQL  Server、Postgre SQL、Redis、ES、hadoopHBasemongoDB、TiDB等数据源。

到此,相信大家对“如何修复解析MySQL8.x binlog错位的问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: 如何修复解析MySQL8.x binlog错位的问题

本文链接: https://www.lsjlt.com/news/61898.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何修复解析MySQL8.x binlog错位的问题
    本篇内容主要讲解“如何修复解析MySQL8.x binlog错位的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何修复解析MySQL8.x binlog错...
    99+
    2024-04-02
  • 如何解决定位并修复Go 中的内存泄露问题
    这篇文章将为大家详细讲解有关如何解决定位并修复Go 中的内存泄露问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Google Cloud Go 客户端库 [1] 通常在后台使用 gRPC 来连接 Goo...
    99+
    2023-06-25
  • 如何解决MySQL5升级为MySQL8遇到的问题my.ini
    目录mysql5升级为MySQL8问题my.ini总结MySQL5升级为MySQL8问题my.ini 首先推荐一个软件“everything”,一个轻巧的遍历电脑所有文件的工具,可以帮忙找到已安装...
    99+
    2022-12-26
    MySQL5升级MySQL8 MySQL5升级问题 MySQL5升级MySQL8 my.ini
  • 如何解决WordPress网站头部错位问题?
    如何解决WordPress网站头部错位问题? 当你在WordPress网站上遇到头部错位的问题时,可能会让你感到困惑和沮丧。这种问题可能由于多种原因引起,比如CSS样式错误、Javas...
    99+
    2024-03-01
    头部 错位 css属性
  • win7启动修复问题如何解决
    这篇“win7启动修复问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win7启动修复问题如何解决”文章吧。win...
    99+
    2023-07-01
  • 如何解决mysql修改my.ini报错的问题
    小编给大家分享一下如何解决mysql修改my.ini报错的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql修改my....
    99+
    2024-04-02
  • 如何解决MySQL中一个双引号的错位问题
    这篇文章主要讲解了“如何解决MySQL中一个双引号的错位问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决MySQL中一个双引号的错位问题”吧!&n...
    99+
    2024-04-02
  • 如何修复MySQL GTID的混合问题
    这篇文章主要讲解了“如何修复MySQL GTID的混合问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何修复MySQL GTID的混合问题”吧!整体服务...
    99+
    2024-04-02
  • 如何修复XP突然蓝屏的问题
    这篇文章主要讲解了“如何修复XP突然蓝屏的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何修复XP突然蓝屏的问题”吧!  360修复漏洞后WinXP系统蓝屏的具体解决方法:  方法一:...
    99+
    2023-06-13
  • 如何解决C++数位DP复杂度统计数字问题
    小编给大家分享一下如何解决C++数位DP复杂度统计数字问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、问题描述:一本书的页码从自然数 1 开始顺序编码直到自然数 n 。书的页码按照通常的习惯编排, 每个页码不含多余的...
    99+
    2023-06-25
  • 如何使用docker开启mysql的binlog日志解决数据卷问题
    这篇文章主要为大家展示了“如何使用docker开启mysql的binlog日志解决数据卷问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用docker开启mysql的binlog日志解决...
    99+
    2023-06-29
  • 如何解决MySQL中因一个双引号错位引发的问题
    小编给大家分享一下如何解决MySQL中因一个双引号错位引发的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言最近经常碰...
    99+
    2024-04-02
  • 如何解决yum错误的问题
    本篇内容主要讲解“如何解决yum错误的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决yum错误的问题”吧!利用网络监视软件cacti检测某服务器的流量用到SNMP服务!我像往常一样运...
    99+
    2023-06-10
  • 如何解析squid的dns配置问题
    如何解析squid的dns配置问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天查了一下,squid对dns的支持是这样一个原理: 1、如果dns server发送域名...
    99+
    2023-06-13
  • 如何解决64位下无法运行32位程序的问题
    如何解决64位下无法运行32位程序的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 cmd进入DOS的窗口,然后进入 cd /d %systemdrive%\Inetp...
    99+
    2023-06-14
  • 如何解决电脑开机提示自动修复的问题
    这篇文章主要为大家展示了“如何解决电脑开机提示自动修复的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决电脑开机提示自动修复的问题”这篇文章吧。首先大家一定会和我一样想这个问题,为什么...
    99+
    2023-06-28
  • 如何解决Swagger2返回map复杂结构不能解析的问题
    这篇文章主要介绍“如何解决Swagger2返回map复杂结构不能解析的问题”,在日常操作中,相信很多人在如何解决Swagger2返回map复杂结构不能解析的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如...
    99+
    2023-06-20
  • 如何解析针对distinct疑问引发的问题
    如何解析针对distinct疑问引发的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。有人提出了这样一个问题,整理出来给大家也参考一下假...
    99+
    2024-04-02
  • 如何分析用pt-stalk定位MySQL短暂的性能问题
    本篇文章为大家展示了如何分析用pt-stalk定位MySQL短暂的性能问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。【背景】MySQL出现短暂的3-30秒的性能问题,一般的监控工具较难抓到现场,...
    99+
    2023-06-06
  • 如何解决SpringBoot2.6.x默认禁用循环依赖后的问题
    这篇文章主要介绍了如何解决SpringBoot2.6.x默认禁用循环依赖后的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、序言SpringBoot 2.6.x不推荐使...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作