为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.12
- 【问题描述】:执行一条update语句出现reading initial communication packet’, system error: 0 "Internal error/check错误,该表有350W行数据。具体语句为:
update student t1 set t1.name = t1.real_name;
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
update student t1 set t1.name = t1.real_name;
您好:
1. 请问这个报错是客户端的报错,还是日志里的报错
2. 请问拓扑结构是什么,可以用发帖时的脚本采集上传下,多谢
3. 麻烦反馈问题发生时间的tidb.log日志,在tidb安装目录的/log/tidb.log,多谢
你好,
感谢回复,正在分析,请稍等
请提供一下访问 TiDB 的连接信息
使用navicat客户端进行连接
连接的字符串信息提供一下,例如: mysql -h xxx -p 4000 -u root
账户名:xxx 密码是:xxxxx 端口是:4000 连接地址:xxx.xxx.xx.xxx
你好,日志里面没有发现描述的 update student t1 set t1.name = t1.real_name;
相关报错。 问题现象是客户端执行这个语句,是执行过程中,客户端报这个错么?可否麻烦把这个语句执行相关的 tidb.log 上传一下
另外 3.0 版本 tidb 的 mysql.user 表没有 authentication_string 字段,query 中使用这个字段会报错
能给一下连接地址吗?
你好,
请确认,使用命令行方式执行看是否存在报错。
如果使用 Navicat,建议使用 Navicat 最新版(我刚升级的,15 了),是之前使用 Navicat 11 有类似的报错,但是并不影响 sql 执行结果。
可能是最大事物支持出现的问题。我把350W行拆开执行更新。每次更新20W没有出现这种错误。现在3.0.12版本事物支持最大是30W吗
你好,
可以看下 《tidb in action》中关于事务部分的介绍,很详细
https://book.tidb.io/session4/chapter6/transaction-statement-count-limit.html#46-tidb-中事务限制及应对方案
由于 TIDB 二阶段提交的特性,对事务大小有做限制:
在4.0版本中事物这方面有大的优化吗
你好
是的 4.0 的新特性中对大事务进行了优化和支持
官网:
https://pingcap.com/community-cn/tidb-bug-hunting/
在官方网站的文档中tidb的配置解释中并没有看到
txn-total-size-limit = 104857600
配置。是否是文档与tidb in action的介绍不同步呢?
https://pingcap.com/docs-cn/stable/reference/configuration/tidb-server/configuration-file/
你好,
抱歉,暂时可从以下链接查看,我们会持续更新官网:
幸苦了。