我正在尝试为第二代云SQL实例在本地建立连接。
代理的调用方式是:
./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status-dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1
我有点不清楚如何正确设置API部分的服务帐户,因此我尝试使用两个默认值,即App Engine默认服务帐户和Compute Engine默认服务帐户。我还创建了一个新的服务帐户。对于它们中的每一个,我都将服务帐户ID分配为“编辑器”和“所有者”,并从“管理权限”部分进行设置。也许还有另一种方法可以为这些帐户启用Cloud SQL Admin API吗?
当我的服务尝试与数据库通信时,代理输出如下:
./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status- dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)
2016/04/04 11:26:58 Open socket for "status-1268:us-central1:status-dev" at "127.0.0.1:3306"
2016/04/04 11:26:58 Socket prefix: /cloudsql
2016/04/04 11:27:10 Got a connection for "status-1268:us-central1:status-dev"
2016/04/04 11:27:11 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized
2016/04/04 11:29:08 Got a connection for "status-1268:us-central1:status-dev"
2016/04/04 11:29:08 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized
你有什么建议吗?我觉得在配置服务帐户方面缺少一些基础知识。
总体而言,我的项目正在运行一个node.js express应用程序,并希望将其连接到第二代云SQL DB实例,而无需像我目前正在使用的那样将其公开为0.0.0.0。
谢谢