花了几个小时后,这是我从GAE以外访问Cloud SQL的唯一真实文档:https://developers.google.com/cloud-sql/docs/external
问题是,这是针对Java应用程序的(通过JDBC)。
我需要从PHP,Dart或NodeJS应用程序中访问我的Cloud SQL DB。我想通过赋予我的GCE实例连接到Cloud SQL的权限,这很容易。但是没有安排套接字字符串(使用mysql驱动程序)似乎是有效的。
为了论证,让我说我正在尝试连接PHP应用程序。我的mysql连接数组如下所示:
(
'driver' => 'mysql',
'unix_socket' => '/cloudsql/project-id:instance-id',
'host' => 'localhost',
'database' => 'dbname',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
)
这和我一样接近,但我会得到一个通用的“无法通过套接字连接到本地MySQL服务器”错误。
答案 0 :(得分:1)
虽然这是一个较老的问题,但我只是认为我应该分享我发现的与此有关的内容。
首先,您尝试连接到GCE实例上的MySQL服务器,而不是远程CloudSQL实例。
开始
希望这有帮助。
答案 1 :(得分:0)
Cloud SQL团队正致力于改善计算引擎的连接性。如果您将此问题发送至google-cloud-sql-discuss@googlegroups.com,他们将能够跟进。
答案 2 :(得分:0)
您可以间接连接I.E.创建一个基于Java的App Engine应用程序,为您提供数据库接口,并从您的PHP应用程序中使用该接口?
例如:Java App Engine App有一个'getEmployees'方法调用,它调用DB上的Select查询,然后格式化并将结果作为JSON文件返回。然后,您的PHP应用程序将调用此方法并使用JSON ...