我已经成功地在多个计算引擎实例上使用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实例,并且代理仅显示此结果。
- 重新启动云SQL实例和两个计算引擎实例。
- 消除代理:我将适当的网络添加到了我的SQL实例的授权网络中,并更新了所有应用程序以使用公共IP。这恢复了我的生产应用程序的功能,但是现在我使用的是公共连接而不是本地/代理。
一些研究
- 我遇到了与Google Cloud SQL有关的类似问题,该问题在上面产生了相同的MySQL错误,但似乎仅影响从外部,非GCE/GKE网络连接到云SQL的影响。
- 今天早上在Google Cloud SQL讨论组上也开始为他们报道同一问题。
我的团队今天开始看到同样的问题,而GKE托管服务器。就像您看到的那样:重新启动服务器和DB什么都没做。
我们尝试对我们使用的Google Cloud Proxy版本进行更新,从v1.05到v1.09,问题就消失了(目前(。
我知道这不是什么解释,但请尝试看看是否对您有帮助。