栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

记录一下使用Mycat遇到的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录一下使用Mycat遇到的问题

耗时了三天吧,终于解决了读写分离环境出现的一个问题。

表面现象是在批量插入的时候报错了,看日志文件,是MySQL驱动包里的代码报错了。

打了断点后,能看到报错的时候返回的一个数组字段是空的,导致报错的。

但问题肯定不在这,项目直连主库的时候是可以执行成功的,这连了中间件,就会报错。

这还了得?盘它!

虽然确定了是mycat的问题,但是因为实在是太难排查了,所以还是看了好大会儿的业务代码。

本身就没用过mycat,有啥特殊的配置能影响也不知道。官网也上了,上面两个QQ群都不让自己加,还必须群里的人拉你才能进去,我加了两个群的群主,到现在了也没回。

mycat官网还有一篇介绍了很多个mycat开发的文章,里面的QQ我都加了一遍,就一个同意了,问了他,也没回我。上面十几个邮箱,我都发邮件了,发了两次,现在了还没收到回信。

找以前编译MySQL8源码时在博客园认识的一个DBA问了,人家说用自己自研的,再一问,在百度工作……

留下了羡慕的泪水……

mycat源码也下下来了,也看了网上的介绍,查询统一会走哪个方法,返回数据统一走哪个方法,也在mycat服务器上装了arthas,监控代码也有数据,但是,看不出来问题在哪里。

中间看了业务代码,把批量插入改为之前的代码,结果试了几次都成功了。

之前的批量插入

insert into table (field) values (),(),();

后来统一给改了,支持多语句执行,适用所有的数据库

insert into table(field) values();insert into table(field) values();

当然数据库jdbc连接参数要加一个allowMultiQueries=true

反馈给领导后,领导觉得还是找找mycat的问题吧。

我真是,当初就不该来看这个问题,本来没我事的,好奇心太重。

看了几天了,真是头疼,心想这不是真要读mycat源码吧,虽然也是Java写的,but,不想看啊。

昨天,就在昨天,终于解决了这个问题。

解决方法嘛,升级。

从1.6.5升级到了1.6.7.6。

完了,就这么简单。

下班走人。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号