一个耗时的 sql 执行后,不报错也不返回结果,就一直阻塞住,但 PROCESSLIST 里显示已结束

2020-07-29 02:46:44 +08:00
 lxk11153
> mysql -Au <user> -h <ip> -p
Server version: 5.6.48-log Source distribution
mysql> 一个耗时的 sql
# 然后就没动静了,也不报错也不返回,阻塞着

开另一个连接上去查SHOW FULL PROCESSLIST,可以看到 sql 在执行

Command-Query, Info-那个 sql

然后变到

Command-Sleep, Info-NULL

最后失去连接

3039 次点击
所在节点    MySQL
6 条回复
lxk11153
2020-07-29 03:00:20 +08:00
关联类似问题: mysql 查询 5000 条以上数据,不报错,但也不返回查询结果
https://bbs.csdn.net/topics/390254471
wangyanrui
2020-07-29 10:19:52 +08:00
远程调用的 DB 吗?机器之间的网络速度原因?
adexbn
2020-07-29 11:09:08 +08:00
曾经遇到过如下情况:还可能是本地客户端死机了,后台已经返回,但是前端处理数据的时候 Crash 。不知道你的环境,供参考
zhangysh1995
2020-07-29 11:19:23 +08:00
EXPLAIN 那句看看
lxk11153
2020-07-29 13:32:21 +08:00
@zhangysh1995 #4 看 第 1 条附言 ,这个 sql 不用 EXPLAIN 了吧 [doge]
wakzz
2020-07-29 14:18:07 +08:00
直接 tcpdump 抓一下 mysql 请求和响应报文,通过抓包报文分析一下 mysql 是否真的没有响应数据,怀疑是 mysql 返回数据后客户端处理出问题了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/693905

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX