MySQL长查询: Lost connection to MYSQL server during query

标签 mysql

我有一个大约 10000 个字符长的查询,但失败并出现以下错误:

ERROR 2013 (HY000): Lost connection to MySQL server during query

只有当本地客户端(PHP 或 CLI)连接到远程数据库服务器时才会发生这种情况。

如果我尝试从另一个(Windows)maxhine 执行相同的查询,它可以在同一数据库服务器上完美运行。所以服务器设置不是问题。

我尝试将 --max_allowed_pa​​cket=16M 添加到我的 mysql 客户端启动中,但仍然出现错误。

进一步测试表明,可以执行的最大查询长度限制在 5000 个字符左右。

一些版本信息:

mysql -V
mysql  Ver 14.14 Distrib 5.5.32, for debian-linux-gnu (x86_64) using readline 6.2

知道我可以尝试什么吗?

最佳答案

“查询期间与 MySQL 服务器的连接丢失”错误通常是由于网络连接出现问题而发生的。 可能的原因和解决方案是 -

  1. 请尝试增加 net_read_timeout。
  2. 检查 onnect_timeout - 默认为 10 秒,将其增加到更大的值。
  3. 增加 max_allowed_pa​​cket。

这里提到了更多细节:

http://dev.mysql.com/doc/refman/5.1/en/error-lost-connection.html

Error Code: 2013. Lost connection to MySQL server during query

关于MySQL长查询: Lost connection to MYSQL server during query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24040675/

相关文章:

javascript - RESTful API 未显示在简单的 AngularJS Controller 中

php - MySQL 表未更新 (PDO)

mysql - 1 从 2 个选择查询中删除查询

Python日志分析工具/库

mysql - 是否有任何 "short way"来检查大表中的多个空字段?

java - 使用 JSP 的数据库并收到错误

php - 检查是否在 php 中选中了复选框

当数据库中不存在电子邮件时,PHP 注册表单会告诉用户电子邮件已存在

mysql - Excel 导出无法正确显示波斯语字符

mysql - MySQL shell 中奇怪的时间戳输出