繁体   English   中英

将 App Engine 连接到 Google 云 SQL 失败

[英]Connect App Engine to Google cloud SQL fails

我正在遵循本指南

我正在填写这样的配置:

val datasourceConfig = HikariConfig().apply {
    jdbcUrl = "jdbc:mysql:///$DB_NAME"
    username = DB_PASS
    password = DB_USER
    mapOf(
        "cloudSqlInstance" to CLOUD_SQL_CONNECTION_NAME,
        "socketFactory" to "com.google.cloud.sql.mysql.SocketFactory",
        "ipTypes" to "PUBLIC,PRIVATE",
    ).forEach {
        addDataSourceProperty(
            it.key,
            it.value
        )
    }
}

gcloud gcloud sql instances describe project-name

backendType: SECOND_GEN
connectionName: project-name:europe-west1:project-name-db
databaseVersion: MYSQL_5_7
failoverReplica:
  available: true
gceZone: europe-west1-d
instanceType: CLOUD_SQL_INSTANCE
ipAddresses:
- ipAddress: *.*.*.*
  type: PRIMARY
kind: sql#instance
name: project-name-db
project: project-name
region: europe-west1

我从中填充我的环境变量:

DB_NAME=project-name-db
CLOUD_SQL_CONNECTION_NAME=project-name:europe-west1:project-name-db

在部署的应用程序行val dataSource = HikariDataSource(datasourceConfig)崩溃,出现以下异常:

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Cannot connect to MySQL server on localhost:3,306.

Make sure that there is a MySQL server running on the machine/port you are trying to connect to and that the machine this software is running on is able to connect to this host/port (i.e. not firewalled). Also make sure that the server has not been started with the --skip-networking flag.

更新:根据这个答案,我尝试在第二个和第三个斜杠之间添加google"jdbc:mysql://google/$DB_NAME" ),现在我得到:

Cannot connect to MySQL server on google:3,306.

我缺少一个依赖项:

implementation("com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.2.2")

在这里查看更多信息: https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/blob/main/docs/jdbc-mysql.md

此外, DB_NAME不是gcloud sql instances output 的名称,而是应在控制台 -> 项目 -> Sql -> 数据库中创建的数据库名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM