在过去 3 天里,我一直在执行长 SQL 查询,没有出现任何问题,包括今天早上我运行的查询时间超过 1200 秒。
但现在我得到:
> ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query
示例执行是:
marcelo@node:~$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 5
marcelo@node:~$ mysql -uroot -p -DmyDb -hmyIP < receivedcytext.txt >out.txt
Enter password:
ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query
错误是随机给出的。执行后 5 到 15 分钟之间。
有什么想法吗?
最佳答案
这可能是也可能不是生成错误时给出的问题。尽管如此,这个'Lost connection to MySQL server'文章介绍了在写入大量或行时可能会遇到此错误的情况。
文章建议设置 net_read_timeout
大于默认值 30 秒。此外,如果您的查询需要很长时间才能运行,您可能需要考虑将它们分成更小的单元。
关于google-compute-engine - 失去从 GCE 到 Google Cloud SQL 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755826/