使用Java连接到Google Cloud SQL



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

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

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);

然后,我启用了云API,据我所知,按照指示安装并验证了云SDK。然而,尽管如此,如果没有白名单IP地址,我仍然无法连接到实例,尽管文档中说这是解决问题的方法。有人看到我试图连接的方式有问题吗?或者知道如何实现这一点吗?

README中有一些关于项目回购的更详细的说明。

一些潜在的跳闸点:

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

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

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

  4. 确保您的防火墙允许从端口3307到您的云SQL实例。

相关内容

  • 没有找到相关文章

最新更新