执行sql报错Lost connection to MySQL server during query

【 TiDB 使用环境】生产环境 /测试/ Poc
测试
【 TiDB 版本】
7.1.0
【复现路径】做过哪些操作出现的问题
执行大sql,每次执行差不多100秒左右就会报错,日志中有panic,看了下也没有oom,是不是哪里配置不对
【遇到的问题:问题现象及影响】
image




【资源配置】
【附件:截图/日志/监控】

你看你贴的监控图 已经oom了

这内存才用了10多G,我单个事务的阈值比这个大,我tidbserverj节点上也没有oom的日志

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-tidb-oom#常见故障现象

参考下文档排查~

PD节点内存可以调低一点,TiDB 内存可以多分配一些


https://docs.pingcap.com/zh/tidb/stable/hardware-and-software-requirements#操作系统及平台要求

但是目前只要sql执行超过100秒就会报这个错。。。应该与配置无关吧,不知道是哪里设置了什么参数

执行sql报什么错误啊?贴一下吧

设置了系统变量global.max_execution_time吗?
https://docs.pingcap.com/zh/tidb/stable/optimizer-hints#max_execution_timen

之前改的10分钟,后面我又改回默认了,无限制还是上面的错

没有看到关键的报错信息。。。
你再找找看有没有其他信息能提供参考吧

将SQL进行拆分,分批执行能成功吗?

放在命令行,语句输完,不执行就报lost这个错了

show variables like ‘%wait_timeout%’; 检查一下连接超时设置看看?

1

我看你插入新表的时候还对源表的时间字段做了格式化,那应该可以以源表的时间字段做几个时间区间条件查询,分批插入新表,大概率可以避免这个问题。

这个确实是个优化点

这个没问题,我发现好像是haproxy的问题,我直接连接用其中一台4000端口写入,就没有报lost这个错 :sweat_smile:

2 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。