链接 Google 计算引擎和 Google 云 SQL
Linking Google Compute Engine and Google Cloud SQL
** 对 Google 云计算引擎 (GCE) 以及与 Google 云 SQL 的明确文档的缺乏感到沮丧,尤其是 link 两者.没有实时支持,并且当前文档由于继续参考 Google App Engine 而缺乏清晰度。 Google App Engine 上的文档引用了 linking,但没有明确的在 VM 实例(在 Compute Engine - GCE 中)和 Google SQL 之间创建 link 的过程在 Google 云中的同一个项目上(同样都在 Google 云中)。
我已经安装了带有 Mariadb 的 Centos 7 VM (64)、MariaDB 服务器和 PHP 以及所有连接器。我已经测试了所有本地主机调用并且都在工作。
在 Google 的访问控制中 SQL:
方向似乎表明使用套接字然后使用 root 用于 PHP 应用程序?
- 似乎很不安全。与使用 root 作为管理员然后在有限数据库中拥有 app 运行 有限权限用户的对比。需要不同的软件组件具有不同的数据库和 Table 访问。
当通过 CLI 在 mySQL 中建立具有特权的用户时,访问控制是否需要使用相同的设置设置相同的用户?
在云 SQl 上设置 SSL 时,是否应该将 SSL 自动填充到计算引擎,或者我是否也需要在计算引擎中设置密钥文件。我试过关闭此设置(需要非常安全的数据传输)。但是还是不开心。
在测试 PHP 访问中,到目前为止,我还没有收到数据调用,
甚至使用此处的说明:Accessing Google Cloud SQL instance from Google Compute Engine?
编辑 - 已解决 - 感谢下面的大卫和下面评论中提到的 link。
按照以下说明进行操作并添加以下步骤:
一个。在 Cloud SQL 的 Developers Console 上创建用户后,使用 CLI、HEIDI、mySQL Workbench 或类似的东西连接到 Instance 并通过调整已创建的用户来设置特定的数据库权限。
b.然后 return 通过 SSH 连接到 VM (GCE) 实例,并通过允许远程 mysql 调整 Apache/SELinux - 看这个 link: php can't connect to mysql with error 13 (but command line can)
c.安装测试 mysqli 或 PDO 连接器并检查错误。
d。瞧
在 GCE 上从 PHP 连接到 Cloud SQL 的基本要素如下:
- 确保您的 Cloud SQL 实例具有 IPv4 地址(在实例页面的 "Access Control>IP address" 下)
- 找出您的 GCE 实例的 public IP 地址,并将其添加为您的 Cloud SQL 实例上的授权网络(在 "Access Control>Authorization" 下)。
- 为具有远程访问权限的实例添加 MySQL 用户名和密码(在 "Access Control>Users" 下 - 您需要一个用户作为客户端主机 %)
- 从 GCE 连接时使用标准 MySQL 连接系统(例如 mysqli_connect),使用您刚刚设置的用户名和密码,连接到您的云 SQL 的 IPv4 地址实例.
添加 SSL 非常手动 - 您需要创建一个客户端证书,并将服务器 CA、客户端证书和客户端私钥复制到服务器,然后配置您的 MySQL 客户端以使用它。
您提到套接字和根访问权限。这是特定于 App Engine 的。在 Compute Engine 中,您不能使用套接字进行连接,您可以自由使用您创建的任何用户。
** 对 Google 云计算引擎 (GCE) 以及与 Google 云 SQL 的明确文档的缺乏感到沮丧,尤其是 link 两者.没有实时支持,并且当前文档由于继续参考 Google App Engine 而缺乏清晰度。 Google App Engine 上的文档引用了 linking,但没有明确的在 VM 实例(在 Compute Engine - GCE 中)和 Google SQL 之间创建 link 的过程在 Google 云中的同一个项目上(同样都在 Google 云中)。
我已经安装了带有 Mariadb 的 Centos 7 VM (64)、MariaDB 服务器和 PHP 以及所有连接器。我已经测试了所有本地主机调用并且都在工作。
在 Google 的访问控制中 SQL:
方向似乎表明使用套接字然后使用 root 用于 PHP 应用程序?
- 似乎很不安全。与使用 root 作为管理员然后在有限数据库中拥有 app 运行 有限权限用户的对比。需要不同的软件组件具有不同的数据库和 Table 访问。
当通过 CLI 在 mySQL 中建立具有特权的用户时,访问控制是否需要使用相同的设置设置相同的用户?
在云 SQl 上设置 SSL 时,是否应该将 SSL 自动填充到计算引擎,或者我是否也需要在计算引擎中设置密钥文件。我试过关闭此设置(需要非常安全的数据传输)。但是还是不开心。
在测试 PHP 访问中,到目前为止,我还没有收到数据调用, 甚至使用此处的说明:Accessing Google Cloud SQL instance from Google Compute Engine?
编辑 - 已解决 - 感谢下面的大卫和下面评论中提到的 link。
按照以下说明进行操作并添加以下步骤:
一个。在 Cloud SQL 的 Developers Console 上创建用户后,使用 CLI、HEIDI、mySQL Workbench 或类似的东西连接到 Instance 并通过调整已创建的用户来设置特定的数据库权限。
b.然后 return 通过 SSH 连接到 VM (GCE) 实例,并通过允许远程 mysql 调整 Apache/SELinux - 看这个 link: php can't connect to mysql with error 13 (but command line can)
c.安装测试 mysqli 或 PDO 连接器并检查错误。
d。瞧
在 GCE 上从 PHP 连接到 Cloud SQL 的基本要素如下:
- 确保您的 Cloud SQL 实例具有 IPv4 地址(在实例页面的 "Access Control>IP address" 下)
- 找出您的 GCE 实例的 public IP 地址,并将其添加为您的 Cloud SQL 实例上的授权网络(在 "Access Control>Authorization" 下)。
- 为具有远程访问权限的实例添加 MySQL 用户名和密码(在 "Access Control>Users" 下 - 您需要一个用户作为客户端主机 %)
- 从 GCE 连接时使用标准 MySQL 连接系统(例如 mysqli_connect),使用您刚刚设置的用户名和密码,连接到您的云 SQL 的 IPv4 地址实例.
添加 SSL 非常手动 - 您需要创建一个客户端证书,并将服务器 CA、客户端证书和客户端私钥复制到服务器,然后配置您的 MySQL 客户端以使用它。
您提到套接字和根访问权限。这是特定于 App Engine 的。在 Compute Engine 中,您不能使用套接字进行连接,您可以自由使用您创建的任何用户。