首页 > 解决方案 > 如何将 Laravel 项目连接到 GCP 上的 SQL 实例?

问题描述

对于我的项目,我目前使用的是 Laravel 5.8,我的数据库部署在 gearhost.com 上。他们的服务提供主机名(mysql2.gear.host)、数据库名和用户(与数据库名相同)

我使用这些数据在我的 .env 文件中建立连接:

DB_CONNECTION=mysql
DB_HOST=mysql2.gear.host
DB_PORT=3306
DB_DATABASE=myDatabaseName
DB_USERNAME=myDatabaseName
DB_PASSWORD=myPassword

服务有点慢,我正在尝试迁移到 GCP。我已经创建了一个实例和一个数据库。现在我想弄清楚如何获取主机名地址,但我做不到

有没有办法获取在 GCP 上创建的实例的这些相同数据?

标签: laravelgoogle-cloud-platformconnectionhostname

解决方案


如果您尝试从 gearhost.com 连接到 Cloud SQL,您可以按照Cloud SQL 文档进行操作

为了设置用户名和密码,您可以使用此命令设置它们

gcloud sql users set-password root --host=% --instance [INSTANCE_NAME] --password [PASSWORD]

然后,您可以使用以下命令查找实例的连接名称:

gcloud sql instances describe [INSTANCE_NAME]

在此之后,您可以按照文档中所述的过程使用代理连接到您的 Cloud SQL。你会得到一个 dbSocket 地址来连接

dbSocket = '/cloudsql/INSTANCE_CONNECTION_NAME';
mysqli = new mysqli(null, $dbUser, $dbPass, $dbName, null, $dbSocket);

推荐阅读