【问题标题】:Accessing Google Cloud SQL instance from Google Compute Engine?从 Google Compute Engine 访问 Google Cloud SQL 实例?
【发布时间】:2013-10-14 02:09:16
【问题描述】:

花了几个小时后,这是我能找到的用于从 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 服务器”错误。

【问题讨论】:

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


    【解决方案1】:

    虽然这是一个较老的问题,但我只是想我应该分享一下我在这方面的发现。

    首先,您尝试连接到 GCE 实例上的 MySQL 服务器,而不是远程 CloudSQL 实例。

    开始

    1. 进入您的仪表板并为您的 CloudSQL 实例请求一个 IP。
    2. 转到 CloudSQL 访问控制并添加您的 GCE IP 地址。
    3. 通过 mysql-client 从 GCE 连接到 CloudSQL 并添加一个新的(非 root)用户
    4. 使用 CloudSQL IP 和新的非 root 用户从 GCE PHP 文件访问 CloudSQL。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      Cloud SQL 团队正在努力改进 Compute Engine 的连接性。如果您将此问题发送至 google-cloud-sql-discuss@googlegroups.com,他们将能够跟进。

      【讨论】:

      • 嘿@JoeFaith 谢谢。期待它。我经常与您的云团队中的人进行电话会议等,总是非常有帮助。如果我得到任何类型的答案或某种解决方法,如果可以的话,我一定会在此处发布答案。编辑:该地址运气不佳-
      • 编辑:该地址不太走运-“我们写信是为了让您知道您尝试联系的组 (google-cloud-sql-discuss) 可能不存在,或者您可能无权向群组发帖。”
      • 我认为您需要先加入该组才能发帖。访问groups.google.com/forum/#!forum/google-cloud-sql-discuss
      【解决方案3】:

      您可以间接连接 I.E.创建一个基于 Java 的 App Engine 应用程序,为您提供数据库接口,并在您的 PHP 应用程序中使用该接口?

      例如:Java App Engine 应用程序有一个“getEmployees”方法调用,该方法调用数据库上的 Select 查询,然后将结果格式化并以 JSON 文件的形式返回。然后,您的 PHP 应用程序将调用此方法并使用 JSON...

      【讨论】:

      • 这完全过于复杂且不必要。他们所要做的就是向他们的 GCSQL 实例添加一个新的非 root 用户,并使用他们的 GCSQL IP+该用户而不是 localhost+root 进行连接
      猜你喜欢
      • 2015-11-05
      • 2014-05-18
      • 2015-02-16
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多