189 8069 5689

Rustnom实现的mysqlbinlog解析工具怎么用

Rust nom实现的MySQL binlog解析工具怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都网站建设哪家好,找成都创新互联!专注于网页设计、重庆网站建设、微信开发、小程序开发、集团企业网站设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都玻璃贴膜等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称赞!

说实话, 用 nom 解析二进制文件比解析文本还要简单, 因为套路和工具都非常清楚,让项目进展缓慢的原因是 MySQL binlog 的文档有点坑, 某些说明和 mysqlbinglog 工具解析出来的不一致,我只能尝试找别的已实现的 MySQL binlog 项目参考, 具体到某个字段时这些项目都不是很完整。迫不得已,只能去查看 mysql-server 的源码, 凭借我 hello world 级别的 c++ 连蒙带猜地尝试把所有字段都解析出来。但某些字段过于复杂或不是很重要, 我就暂时把它们放在一边。

这里不得不吐槽下,为了实现这个项目我看过 c++,c,Java,Go,Python 这五个语言的类似实现, c++一堆符号,但还是能看懂意思;c因为表现力不够,代码有些繁琐;Java 是真啰嗦, 一个方法里只写一行,那一行还是掉别的函数~;Go 看都不想看;Python 表现能力不错,但可能是作者的问题,代码有些乱。
当然,我的代码也没好到哪里去:(,为了快就用了一个大enum表示所有事件,可能很快就要重构一次,但这是人的问题,论表现能力,Rust是静态语言里独一档的。
因为时间有限,所以测试用例还不是很完善,如果测试时遇到问题可以给我提Issue,最好能附上当时的binlog文件,帮助我丰富测试用例。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章标题:Rustnom实现的mysqlbinlog解析工具怎么用
链接URL:http://cdxtjz.cn/article/pojijh.html

其他资讯