记录一下使用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。

完了,就这么简单。

下班走人。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深漂程序员悟饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值