Cloud SQL Connector for Java 是一个库,可在连接到 Cloud SQL 实例时提供基于 IAM 的授权和加密。如果 Cloud SQL 实例尚不存在,则它无法提供网络路径。 有关连接到 Cloud SQL 实例的更多信息,请参阅连接概述页面。
有关特定于您的数据库引擎和驱动程序的使用信息,请参阅以下页面:
使用 JDBC 连接到 Cloud SQL
使用 R2DBC 连接到 Cloud SQL
有关在应用程序上下文中使用该库的示例,请查看此处的示例应用程序。
该库使用应用程序默认凭据 (ADC) 策略来解析凭据。请参阅这些说明,了解如何设置 ADC(Google Cloud 应用程序与本地开发、IAM 用户与服务帐户凭据)。
---
要构建包含 JDBC 驱动程序和捆绑包 Socket Factory 依赖项的 fat JAR,您可以从包含项目 pom.xml 的位置发出以下 Maven 命令:
mvn -P jar-with-dependencies clean package -DskipTests
这将在每个模块目录中创建一个目标子文件夹。在这些目标目录中,您将找到 JDBC 驱动程序文件。
例子:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Java 连接器支持可选的调试日志记录,以帮助诊断后台证书刷新的问题。要启用它,请将以下内容添加到文件/src/main/resources/application.yml
:
logging.level.root=DEBUG
Cloud SQL 代理使用端口 3307 建立与 Cloud SQL 实例的连接。受防火墙保护的应用程序可能需要配置为允许 TCP 端口 3307 上的传出连接。被防火墙阻止的连接通常会导致错误,指出连接失败 (例如com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
)。
为了将 IntelliJ 连接到您的 Cloud SQL 实例,您需要将此库作为具有依赖项的 jar 添加到驱动程序设置页面上的“其他文件”部分中。不再提供预构建的 fat jar(自 v1.14.0 起)。
以下是一些故障排除提示,用于解决使用 Java 连接器时出现的常见问题:
确保您使用的是最新版本的 Cloud SQL Connector 和数据库驱动程序,以避免不兼容。不支持某些旧版本的驱动程序。
Java 连接器提供连接授权,但不提供新的连接路径。例如,为了使用私有 IP 地址连接到 Cloud SQL 实例,您的应用程序必须已经具有 VPC 访问权限。
该项目使用语义版本控制,并使用以下有关主要版本支持的生命周期:
活动- 活动版本获得所有新功能和安全修复(否则不会引入重大更改)。新的主要版本保证“有效”至少一年。已弃用- 已弃用的版本继续接收安全和关键错误修复,但不接收新功能。已弃用的版本将公开支持 1 年。不受支持- 任何已弃用超过 1 年的主要版本都被视为不受公开支持。
我们至少测试和支持任何公开支持的 LTS JDK 版本。支持版本的更改将被视为较小的更改,并将在发行说明中列出。
该项目的目标是最低每月发布频率。如果没有添加新功能或修复,则会发布具有最新依赖项的新 PATCH 版本。