我有一个基于Java/Jetty的应用程序引擎项目,它在使用JDBC连接时成功地连接到Google云MySql服务器,但在试图通过实例名称和JDBC socketFactory连接到同一服务器时却失败。我在GCP调试控制台中遇到的错误:
“通信链接失败最后一次成功发送到服务器的数据包是0毫秒前。>驱动程序没有收到来自服务器的任何数据包。”
try {
Class.forName("com.mysql.jdbc.GoogleDriver");
String url= String.format("jdbc:google:mysql:///"
+ "MY_DB_NAME" + "?"
+ "cloudSqlInstance=%s&"
+ "socketFactory=%s&"
+ "useSSL=false",
"PROJECT-ID:ZONE:INSTANCE_NAME",
"com.google.cloud.sql.mysql.SocketFactory");
return DriverManager.getConnection(url, USER_NAME, USER_PASSWORD);
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
return null;
}
发布于 2020-05-19 20:52:23
问题可能是您在云mysql实例中指定的公共IP地址。只需通过键入检查公共IP地址,浏览器中的公共IP是什么?。然后更新为google云实例提供的公共IP。这可能有助于解决你的问题。
https://stackoverflow.com/questions/61440265
复制相似问题