gpt4 book ai didi

mysql - 间歇性2013, "Lost connection to MySQL server at '读取初始通信包',系统错误: 0"to CloudSQL

转载 作者:行者123 更新时间:2023-11-29 02:58:50 27 4
gpt4 key购买 nike

周日,我在一个新的 GCE 实例上设置了一个旧的 Django 应用程序,并将其指向一个带有导入数据的新 CloudSQL 实例。在过去几年中,此代码和数据已在各种专用托管设置、EC2 和 EC2+RDS 上成功运行。

自周日以来,我收到了 2013 年的间歇性报告,“在‘读取初始通信数据包’时与 MySQL 服务器失去连接,系统错误:0”。特别是今天,它发生在两次爆发中,每次爆发 3 次,相隔约 7 小时。

我对之前的中断感到 panic ,并重新启动了应用程序和 CloudSQL 实例,结果成功了。然而,今天后者在几分钟后恢复了正常。

在使用 MySQL 之前,我从未遇到过这个错误,任何对该错误的搜索都会给出与对数据库有一般访问问题的人相关的结果。

在 GCE 方面,我能想到的与以前设置的唯一区别是它使用 Google 开箱即用的 Debian 镜像而不是 Ubuntu 12.04。在 MySQL 方面,我不知道,因为我已经在 MySQL 5.x 和 MariaDB 上成功运行了它。

有什么方法可以找出发生这种情况的原因并加以解决吗?

谢谢。

最佳答案

您是否尝试过更改 TCP 连接的保持事件设置? GCE 有一个防火墙规则,在 10 分钟后丢弃空闲的 TCP 连接:

https://cloud.google.com/compute/docs/troubleshooting#communicatewithinternet

您可以检查'tcp_keepalive_time'的当前值:

cat /proc/sys/net/ipv4/tcp_keepalive_time 

并将其更改为 60 秒:

vi /etc/sysctl.conf
# Add this line
net.ipv4.tcp_keepalive_time = 60
# Reload Sysctl interface
sudo /sbin/sysctl --load=/etc/sysctl.conf

您可能需要重新启动 Django 服务器以选择新的保持事件设置。

注意:如果此问题仅限于昨天 (18/11/2014) 并且您的 Cloud SQL 实例位于欧盟,则您可能已受此影响:

https://groups.google.com/forum/#!topic/google-cloud-sql-announce/k5raPT48hc0

关于mysql - 间歇性2013, "Lost connection to MySQL server at '读取初始通信包',系统错误: 0"to CloudSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27001311/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com