mycat2分片表后逻辑库无法写入

img

创建广播表读取和写入正常。创建分片表如果在物理库直接插入数据逻辑库读取是正常的,但无法在逻辑库写入数据。用命令行方式分片表逻辑库写入数据的报错。我错在哪里?该如何解决?

img

img

img

img


这4张是逻辑库,读写分离,数据源的配置,dw0和dr0是一台外加装了mycat,dw1和dr1是一台,我分片表错在哪?

请提供下mycat的配置。不知道是读写分离配置的问题还是路由配置的问题。
应该要检查Mycat2的分片规则,确保分片表的逻辑库能够正确的路由到正确的物理库。
检查Mycat2的分片表的逻辑库的表结构,确保表结构正确,并且能够正确的路由到正确的物理库。

看错误提示非法的参数,检查下你是怎么写去的数据啊,写入的方法中的参数对不对啥的。

按照我的步骤检查一下
1、检查Mycat2的配置文件,确保分片表的逻辑库配置正确,并且可以正常读写。
2、检查Mycat2的权限配置,确保分片表的逻辑库有正确的读写权限。
3、检查Mycat2的分片规则,确保分片表的逻辑库能够正确的路由到正确的物理库。
4、检查Mycat2的分片表的逻辑库的表结构,确保表结构正确,并且能够正确的路由到正确的物理库。

有用请采纳:
可能是由于你在使用分片表时,路由计算返回了两个结果,导致程序无法确定该将数据写入哪个分片。可能是由于配置文件中的路由策略配置错误或分片键值重复导致的。

检查一下路由策略配置是否正确,并确保分片键值唯一。还要检查分片表对应的逻辑库是否存在,如果不存在,需要创建。

全局表不会计算路由,写入的时候是将所有节点都执行一遍写入,读取的时候从其中一个节点进行读取,所以不会有问题。
分片表在写入和读取的时候会计算路由,这个错误提示可能是由于你在使用分片表时,路由计算返回了两个结果,导致程序无法确定该将数据写入哪个分片,可能是由于配置文件中的路由策略配置错误或分片键值重复导致的。建议检查路由策略配置是否正确,并确保分片键值唯一。还要检查分片表对应的逻辑库是否存在,如果不存在,需要创建。
主要是检查rules文件的配置是否有问题。
如果有用,望采纳,谢谢!

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^