![](/img/trans.png)
[英]Google App Engine - Connect to SQL Cloud Instance with php using mysqli
[英]How to connect to Google cloud SQL instance using php?
使用以下代码可以从本地主机环境连接到我的 SQL 实例,但是当我将相同的代码上传到我的 VM 实例并尝试从那里连接它时,我收到“连接失败:连接超时”
注意:我在授权网络部分添加了虚拟机实例的外部 IP 地址。
<?php
$servername = "SQL INSTANCE IP ADDRESS : port";
$username = "root";
$password = "password";
$dbname="appdb";
$response=array();
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
请帮忙,谢谢。
您的 Compute Engine 实例必须与您的 Cloud SQL 实例位于同一区域,并且位于为专用连接配置的网络上
1. 使用内部 ip 地址创建 Cloud SQL实例。 创建用户、密码和数据库。
复制startup-script.sh
后,运行此命令以创建实例:
gcloud compute instances create $MY_INSTANCE_NAME \
--image-family=ubuntu-1804-lts \
--image-project=ubuntu-os-cloud \
--machine-type=g1-small \
--scopes userinfo-email,cloud-platform,sql-admin \
--metadata-from-file startup-script=scripts/startup-script.sh \
--zone $ZONE \
--tags http-server
在我们添加的范围上sql-admin
,然后创建防火墙规则。
3.SSH 到您刚刚创建的实例。
4.安装mysql
。 您可以将此部分添加到启动脚本中。
sudo apt install mysql-client-core-5.7
5.测试是否可以使用内部IP地址连接到SQL实例。
mysql --host=internall-ip-sql --user=test --password
6.如果您能够连接,则:
cd /opt/app/routes
sudo nano web.php
7.将你的代码添加到router->get('/', function (Request $request)
8.在浏览器中访问http://compute-engine-instance-externall-ip
成功!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.