本文最后更新于:2025年4月30日 下午

Mysql 在查询时报错 2013,本文记录分析过程。

错误信息

1
Error code: 2013. Lost connection to MySQL server during query

问题原因

  • 如果向服务器发送的查询不正确或过大,也可能会出现这些错误。如果 mysqld 接收到一个太大或无序的数据包,它会假设客户端出了问题并关闭连接。

  • 多线程操作同一个 mysql 连接对象

  • 访问超时

  • mysql 服务挂了

解决方案

原因复杂,所以只能尽可能避免:

  • 修改 mysql 配置:
1
2
3
4
5
6
7
8
9
[mysqld]

max_allowed_packet = 64M
connect_timeout = 30
net_read_timeout = 120
net_write_timeout = 120
innodb_buffer_pool_size = 6G
wait_timeout = 28800
interactive_timeout = 28800

排查思路

aborted connection

可以尝试查看 Aborted_connects 数量是否不正常增加。

1
mysql> SHOW GLOBAL STATUS LIKE  'Aborted_connects';

如果每次尝试连接时计数器都会增加一个,那么连接就是一个问题。

解决此问题的一种方法是,可以增加配置文件中的连接超时值。您可以通过使用以下命令来实现这一点。

1
mysql> SET GLOBAL connect_timeout = 10;
1
2
3
4
5
6
7
mysql> SHOW GLOBAL STATUS LIKE  'Aborted_connects';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| Aborted_connects | 0 |
+------------------+-------+
1 row in set (0.00 sec)

参考资料



文章链接:
https://www.zywvvd.com/notes/coding/dataset/mysql/mysql-err-2013/mysql-err-2013/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

Error code - 2013. Lost connection to MySQL server during query 问题解决
https://www.zywvvd.com/notes/coding/dataset/mysql/mysql-err-2013/mysql-err-2013/
作者
Yiwei Zhang
发布于
2025年4月10日
许可协议