开发者社区> 问答> 正文

线上出现mysql连接超时的问题,如何查找超时的原因?

已解决

在php日志中的错误信息如下:
[20-Dec-2014 21:20:17] WARNING: [pool www] child 31401 said into stderr: "NOTICE: PHP message: PHP Warning: PDO::__construct(): MySQL server has gone away in ./abstract.class.php on line 26"

展开
收起
exinnet 2016-01-25 16:51:57 5514 0
3 条回答
写回答
取消 提交回答
  • 淘宝技术专家
    采纳回答

    我之前遇到过这样的情况,当时是由于有一台mysql代理出现问题导致的。是使用tcpdump抓包,然后用wireshark分析包,找出最终是那台机器有问题的。我记录到博文了,请查看 http://www.bo56.com/tcpdump-%E5%92%8C-wireshark%E7%BB%84%E5%90%88%E6%8B%B3%EF%BC%8C%E6%8F%AA%E5%87%BA%E6%9C%89%E9%97%AE%E9%A2%98%E7%9A%84%E6%9C%BA%E5%99%A8/

    2019-07-17 18:26:28
    赞同 展开评论 打赏
  • 我补充几点
    1.应用与DB机器网络是否畅通
    2.DB实例是否活着
    3.DB机器负载是否非常高,无法响应请求

    2019-07-17 18:26:28
    赞同 展开评论 打赏
  • 楼主有两个地方要确认一下,一个是mysql的默认timeout时间,另外是服务两次访问mysql是否超过了这个timeout时间。
    一般mysql有默认的timeout时间,如果程序访问一次后,下一次访问时间超过默认时间,mysql会断开之前的连接。

    2019-07-17 18:26:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像