v 4.0.7
我之前配置过大事务,当时生效了,后来我重新安装了tidb,在配置文件里配置了支持大事务的相关参数。
也reload了,但是我现在使用jdbc批处理向tidb插入数据,50w条一批,就报错了,显示事务过大,超过60M的默认值了。可以我已经在配置文件里面配置事务大小为小于10G了,而且已经reload了
这是上次解决大事务问题的帖子
v 4.0.7
我之前配置过大事务,当时生效了,后来我重新安装了tidb,在配置文件里配置了支持大事务的相关参数。
这是上次解决大事务问题的帖子
从报错信息中来看是客户端的数据包太大,超过系统参数 max_allowed_packet 的限制了,可在 tidb 中执行下面的命令将参数值调大,然后再重试下:
set @@global.max_allowed_packet=xxxx ;
你好,我设置了这个参数,但是好像没生效呢,传输几百万行的数据还是会报错。
是不是在mysql 客户端,比如navicate设置的这个参数,无法应用到TiDB?
修改 global 参数, 需要断开链接该参数的查询才会刷新, 辛苦操作下.
请问是断开比如navicat到TiDB的链接吗?
我刚才设置完max_allowed_packet之后,断开连接,然后重新连接,但是好像没生效呢,是不是我哪里操作的不对?
有没有可能是设置的太大了?
我这边在 navicat 和 mysql 本地客户端中设置都是没有问题的,麻烦再检查下客户端设置:
好的,谢谢。
这次我用shell里面的mysql客户端执行的,是可以的。
重新连接之后生效了。
还想请教个问题,就是set @@global.max_allowed_packet=这种方式设置的值,是仅针对本次TiDB启动生效。下次如果将TiDB集群重启,就会失效,然后需要重新设置是吧
global 参数在设置成功后会持久化到 tikv, tikv 重启不会对该值有影响,
PS: 如果系统变量有对应的配置文件配置文件参数可配置, 建议使用配置文件参数进行参数管理.
好的,谢谢
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。