MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
lxk11153
V2EX  ›  MySQL

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

  •  
  •   lxk11153 · Jul 29, 2020 · 3599 views
    This topic created in 2122 days ago, the information mentioned may be changed or developed.
    > 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

    最后失去连接

    Supplement 1  ·  Jul 29, 2020
    用 `select sleep(400) from dual` 来调试,超过 300s 的就会阻塞,但不知是哪个变量控制的
    Supplement 2  ·  Jul 29, 2020
    "最后失去连接" 改为 "最后 PROCESSLIST 没有它了"
    6 replies    2020-07-29 14:18:07 +08:00
    lxk11153
        1
    lxk11153  
    OP
       Jul 29, 2020
    关联类似问题: mysql 查询 5000 条以上数据,不报错,但也不返回查询结果
    https://bbs.csdn.net/topics/390254471
    wangyanrui
        2
    wangyanrui  
       Jul 29, 2020
    远程调用的 DB 吗?机器之间的网络速度原因?
    adexbn
        3
    adexbn  
       Jul 29, 2020
    曾经遇到过如下情况:还可能是本地客户端死机了,后台已经返回,但是前端处理数据的时候 Crash 。不知道你的环境,供参考
    zhangysh1995
        4
    zhangysh1995  
       Jul 29, 2020
    EXPLAIN 那句看看
    lxk11153
        5
    lxk11153  
    OP
       Jul 29, 2020
    @zhangysh1995 #4 看 第 1 条附言 ,这个 sql 不用 EXPLAIN 了吧 [doge]
    wakzz
        6
    wakzz  
       Jul 29, 2020
    直接 tcpdump 抓一下 mysql 请求和响应报文,通过抓包报文分析一下 mysql 是否真的没有响应数据,怀疑是 mysql 返回数据后客户端处理出问题了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1023 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 19:37 · PVG 03:37 · LAX 12:37 · JFK 15:37
    ♥ Do have faith in what you're doing.