繁体   English   中英

使用Java连接到Google Cloud SQL

[英]Connecting to Google Cloud SQL with Java

我已经尝试了好几天,却一无所获。 我正在尝试通过正在构建的JavaFX程序连接到我的MySQL数据库,而不要求我将尝试连接的每个IP列入白名单。 GCP支持团队已答复我一次,但完全误解了该问题(提供了一些日志示例,这些日志仅在我将自己的IP列入白名单以测试程序的其他方面之后出现)。

我在https://cloud.google.com/sql/docs/mysql/connect-external-app#java中找到了说明,并将以下代码粘贴到了我的主要方法中(用适当的值替换databaseName,instanceConnectionName,username和密码):

String jdbcUrl = String.format(
"jdbc:mysql://google/%s?cloudSqlInstance=%s"
+ "&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false",
databaseName,
instanceConnectionName);

Connection connection = DriverManager.getConnection(jdbcUrl, username, 
password);

然后,我启用了Cloud API,并据我所知,按照指示安装并验证了Cloud SDK。 尽管如此,尽管文档说这是解决该问题的方法,但如果没有列入白名单的IP地址,我仍然无法连接到该实例。 有人看到我尝试连接的方式有问题或知道如何进行此工作吗?

自述文件中有一些用于项目回购的更详细的说明。

一些潜在的跳闸点:

  1. 使用“ 应用程序默认凭据”为工厂提供凭据。

  2. 确保为项目启用了Cloud SQL API (如果您使用的是服务帐户,请确保已向其中添加Cloud SQL Client角色)。

  3. 将库作为依赖项添加到POM或gradlefile中。

  4. 确保您的防火墙允许端口3307进入Cloud SQL实例。

暂无
暂无

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

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