当前位置:Gxlcms > 数据库问题 > mysql mycat 1.6.6.1-release 批量 insert 数据丢失问题(续)

mysql mycat 1.6.6.1-release 批量 insert 数据丢失问题(续)

时间:2021-07-01 10:21:17 帮助过:58人阅读

 

其他地方都是正常打印的 Updates: 1000      2020-01-10 14:13:39.116 http-nio-9080-exec-3 DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:159) - <==    Updates: 1000

 

而且我查了数据发现前面4000条数据丢失了,也就是说打印   <==    Updates: 1 之前的4次分批1000条insert都丢失了,java和mycat没有任何报错。

这个问题困扰了我很久,可以看我之前写的2个文章也是解决这个问题的,但是都没有完全解决,小概率还是会发生丢失数据问题。我猜测要么是mycat的问题或者就是spring 的事务没有配置正确。

https://www.cnblogs.com/xiaohanlin/p/11850508.html

https://www.cnblogs.com/xiaohanlin/p/11492715.html

 

然后我在mycat的github issues 里面提了这个问题,很快就得到了回复。建议我把mycat的dbDriver="jdbc"  试试,我的配置如下

 

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="-1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>

<writeHost host="Master1" url="jdbc:mysql://15.31.213.44:3306/nova?allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true" user="root"
password="123456">

</writeHost>

 

(注意:从  dbDriver="nvative"改成  dbDriver="jdbc"   后 allowMultiQueries=true 需要加在mycat和微服务的jdbc参数里面,不然批量update执行报错) 

 

然后我把每个微服务的数据库配置也修改成了

 url: jdbc:mysql://15.31.213.44:8066/nova?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&autoReconnect=true

 

 

然后需要再观察一段时间会不会再出现丢失数据的这个问题。

mysql mycat 1.6.6.1-release 批量 insert 数据丢失问题(续)

标签:word   max   exec   log   blog   mybatis   配置   ova   coding   

人气教程排行