当前位置: 首页 > 知识库问答 >
问题:

Google Cloud SQL与Google App Engine之间的连接-超时

宋畅
2023-03-14

我正在设置一个应用程序,它需要连接到云上的数据库(google cloud sql)。我有一个php文件,它连接到数据库并返回我需要的所有数据。它在本地主机上运行良好,但我不能使它在云上运行。

这是我的.php文件:

<?php


$conn = mysqli_connect("[MY_GOOGLE_SQL_PUBLIC_IP]", "root", "123", "mysql");

if (!$conn) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}else{

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;


}

mysqli_close($conn);

?>

这是我的app.yaml:

runtime: php55

handlers:
- url: .*
  script: cloud-test.php

beta_settings:
    cloud_sql_instances: "cloudtest-2412**:southamerica-east1:store"

如果我在本地主机(127.0.0.1:8888)上运行php文件,我会发现与google sql上的数据库建立了连接。但是当我部署(gcloud app deploy)到app engine并尝试访问google提供的url时,我得到了以下错误:

错误:无法连接到MySQL。调试错误号:2002调试错误:连接超时

*sql数据库和app engine在同一个项目中,所以我不需要授予任何特殊权限(就像我在本地主机上访问时必须授予本地ip权限一样)

有什么想法吗??

谢谢

共有1个答案

欧阳正德
2023-03-14

使用实例连接名称(CloudTest-2412**:SouthAmerica-East1:Store)而不是My_Google_SQL_Public_IP进行连接。

您可以在Cloud SQL实例的Instance details页面上找到。

 类似资料:
  • 我正在通过sparklyr V0.6.2运行Spark V2.2.1并通过JDBC从SQL Server提取数据。我似乎遇到了一些网络问题,因为我的执行程序多次(不是每次)对SQL Server执行写操作失败,并出现错误: 我正在使用以下配置运行sparklyr会话: 我在运行时将设置为24。因此,我看不出与建议的帖子有什么联系。 编辑2 我可以通过摆脱重新分区来解决我的问题。有人能解释为什么在这

  • 我正在尝试将一个基于PHP的API从共享主机移植到Google应用程序引擎。我下载了PHPSDK,在启动器中创建了一个新的应用程序,在PHP中启用了cURL。ini(使用),现在我得到这个错误: 如果我向curl_init()添加反斜杠(告诉它不要使用MyNamespace),我会得到这个: 除了启用cURL_lite()(稍后我可能会解决这个问题,因为它不支持我需要的cURL选项),我如何解决这

  • 在过去,我使用Apache的http客户端。我有以下设置: 连接请求超时 连接超时 读取/套接字超时 连接池大小 null

  • 问题内容: 我在代码中使用了RMI: 这些是4个.java文件。 接下来,我编译所有这些文件。然后创建一个using 。之后,我使用来在服务器端启动rmi注册表。然后,我开始使用服务器,最后使用客户端。 但是什么也没发生 客户端抛出的异常是 原因是什么,我该如何解决? 在客户端计算机上,这些是以下.class文件,在服务器端 问题答案: 错误消息说明了一切:您的连接超时。这意味着您的请求在某个(默

  • 我的EKS集群变得不健康,因为所有豆荚都有“容器创建”错误,这可能与CNI问题有关。 在版本1.5.5中,conflist文件的位置更改为/etc/cni/10-aws.conflist,但节点仍然处于“notready”状态。 我的EKS版本是1.14,平台版本是EKS.2。 Ipamd日志: 有人对这个问题有什么线索吗?

  • 我一直在尝试使用JDBC驱动程序从Tableau连接到Druid。根据我对将Tableau连接到ApacheDruid的这篇文章的回答,我已经成功地使用ODBC驱动程序进行了连接 但是,我也希望能够使用JDBC驱动程序。 尽管我遵循了本文中的步骤:https://support.imply.io/hc/en-us/articles/360025589574-Connecting-Tableau-t