我有一个大约 10000 个字符长的查询,但失败并出现以下错误:
ERROR 2013 (HY000): Lost connection to MySQL server during query
只有当本地客户端(PHP 或 CLI)连接到远程数据库服务器时才会发生这种情况。
如果我尝试从另一个(Windows)maxhine 执行相同的查询,它可以在同一数据库服务器上完美运行。所以服务器设置不是问题。
我尝试将 --max_allowed_packet=16M
添加到我的 mysql 客户端启动中,但仍然出现错误。
进一步测试表明,可以执行的最大查询长度限制在 5000 个字符左右。
一些版本信息:
mysql -V
mysql Ver 14.14 Distrib 5.5.32, for debian-linux-gnu (x86_64) using readline 6.2
知道我可以尝试什么吗?
最佳答案
“查询期间与 MySQL 服务器的连接丢失”错误通常是由于网络连接出现问题而发生的。 可能的原因和解决方案是 -
- 请尝试增加 net_read_timeout。
- 检查 onnect_timeout - 默认为 10 秒,将其增加到更大的值。
- 增加 max_allowed_packet。
这里提到了更多细节:
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/