TiDB 事务大小限制参数调整

简介:TiDB 在4.0版本以后将参数:txn-total-size-limit 配置项的默认值由 1GB 调整为 100MB,当批量提交的事务太大会导致报错,比如执行脚本的过程中报错:Transaction is too large

关键字

TiDB

适用产品

  • AnyShare 7.0 使用外置TiDB集群

问题描述

在版本升级时执行数据库升级脚本报错,提示:Transaction is too large, size: xxxxxxxx。


问题影响

无法正常执行数据库脚本,升级无法继续


问题原因

TiDB 在4.0版本以后将参数:txn-total-size-limit 配置项的默认值由 1GB 调整为 100MB,当批量提交的事务太大会导致报错


解决方案

临时调大 txn-total-size-limit 限制值,等升级完成后再改回初始配置

注意修改后需要重启 TiDB 相关服务使配置生效,请在非业务时间段操作

1.备份历史配置信息,集群部署节点执行

查看集群名称:

tiup cluster list

备份当前集群配置,输出到备份文件,以 tidb-aishu 集群名称为例,名称以实际环境为准:

tiup cluster show-config tidb-aishu > tidb-cluster-bak.yaml

2.修改集群配置文件,增加 TiDB-Server 相关配置,集群部署节点执行,以 tidb-aishu 集群名称为例,名称以实际环境为准:

tiup cluster edit-config tidb-aishu

在 server_configs 段的 tidb 中增加配置内容(示例为1G限制值),如果没有此段则,则直接在配置末尾增加此段配置,以新增为例:

image.png

image.png

在编辑完成后冒号wq保存退出,配置格式正确,会提示是否保存配置,按y保存:

image.png

如果提示错误请不要保存,检查之前配置是否有误,检查无问题后再保存:

image.png

3.重载新配置,需要滚动重启 TiDB 相关服务,以 tidb-aishu 集群名称为例,名称以实际环境为准:

tiup cluster reload tidb-aishu -R tidb

image.png

4.升级脚本执行完成后,可以按照上面的步骤将限制值还原

tiup cluster edit-config tidb-aishu

配置了参数情况下:

image.png

取消该项参数:

image.png

重载新配置

tiup cluster reload tidb-aishu -R tidb

更多信息

https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup#

https://docs.pingcap.com/zh/tidb/stable/sql-statement-load-data#

为了给您提供更优质的服务,请您先完善以下信息:
确认提交
weixin

扫码关注

爱数技术支持中心公众号