【发布时间】:2014-09-28 03:31:02
【问题描述】:
我在 Google App Engine 应用上有一个 Django 应用,它使用 App Engine authentication 连接到 Google Cloud SQL。
大多数情况下一切正常,但有时会引发以下异常:
OperationalError: (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 38")
根据the docs,在以下情况下会返回此错误:
如果 Google Cloud SQL 拒绝连接,例如,因为您的客户端连接的 IP 地址未经授权。
这对我来说没有多大意义,因为身份验证是由 App Engine 服务器完成的。
什么可能导致这些零星错误?
【问题讨论】:
-
只是为了确保您的应用程序已部署到云端,对吗?你没有运行 localhost?
-
@Gwell 是的,它在 GAE 云上。
-
我无法准确找到关于错误 38 的太多信息。但大多数关于在“读取初始命令..等”时丢失与 MySQL 服务器的连接的错误都与 SQL 设置有关,尤其是超时和授权,但这些都是本地主机问题。查看此文档:developers.google.com/cloud-sql/docs/admin-api/v1beta1/… 并查看您是否可以在 Cloud SQL 实例上修改任何可以解决此问题的设置。
-
您是否将应用设置为仅在欧盟服务器上运行?
-
我时常遇到同样的问题。我使用 CloudSQL 在 AppEngine 上运行 Django 1.5,偶尔会遇到同样的错误。
标签: python mysql django google-app-engine google-cloud-sql