Google cloud_sql_proxy无法连接到实例,流错误,protocol_error

时间:2017-05-30 18:45:17

标签: google-compute-engine google-cloud-sql cloud-sql-proxy

我已成功在多个计算引擎实例上使用Google cloud_sql_proxy一段时间,直到今天,一次只有一个实例,代理开始显示以下错误模式:

2017/05/30 13:28:07 New connection for "project-id-1234:us-central1:sql_instance"
2017/05/30 13:28:07 couldn't connect to "project-id-1234:us-central1:sql_instance": Post https://www.googleapis.com/sql/v1beta4/projects/project-id-1234/instances/sql_instance/createEphemeral?alt=json: stream error: stream ID 1; PROTOCOL_ERROR
2017/05/30 13:28:41 New connection for "project-id-1234:us-central1:sql_instance"
2017/05/30 13:28:41 Thottling refreshCfg(project-id-1234:us-central1:sql_instance): it was only called 33.490705951s ago
2017/05/30 13:28:41 couldn't connect to "project-id-1234:us-central1:sql_instance": Post https://www.googleapis.com/sql/v1beta4/projects/project-id-1234/instances/sql_instance/createEphemeral?alt=json: stream error: stream ID 1; PROTOCOL_ERROR

当尝试直接连接到MySQL(使用代理时)我得到错误2013(HY000):

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

我尝试了什么

  • 重新启动cloud_sql_proxy产生了一个临时修复,直到最后我的计算引擎实例都无法连接到我的Cloud SQL实例,并且代理只显示此结果。
  • 重新启动Cloud SQL实例和两个Compute Engine实例。
  • 取消代理:我将适当的网络添加到我的SQL实例的授权网络,并更新了所有应用程序以使用公共IP。这恢复了我的生产应用程序的功能,但现在我使用的是公共连接而不是本地/代理。

一些研究

1 个答案:

答案 0 :(得分:3)

我的团队今天开始看到同样的问题,使用GKE托管服务器。与您看到的相同:重新启动服务器和DB什么也没做。

我们尝试更新我们从v1.05到v1.09使用的Google Cloud Proxy版本,问题消失了(现在)。

我知道这不是一个解释,而是试一试,看看这对你有帮助。