laravel - 如何将 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 上创建的实例的这些相同数据?
解决方案
如果您尝试从 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);
推荐阅读
- ios - 如何在原生 iOS 应用中打开 Facebook 页面
- react-native - 如何防止设备缩放级别对我的应用程序产生影响?
- python - 我怎样才能提高地形生成器的性能我得到 40 FPS
- json - 使用 JQ 合并两个 Json 文件
- flutter - Flutter web:无法加载资源:net :: ERR_NAME_NOT_RESOLVED
- java - 如何使用 jlink 将外部库添加到自定义运行时映像?
- mongodb - Mongo 不会启动
- java - ./mvnw spring-boot:run 命令显示“这次 Spring 是意外的”消息
- python - 无法导入名称“read_data”
- javascript - 如何通过基于图像缩略图的锚标记上的 onclick 打开(全屏)图像