AppEngine尝试连接到Google Cloud MySql实例时出现“通信链接失败”错误

问题描述 投票:0回答:1

我有一个基于Java / Jetty的appengine项目,当通过JDBC与TCP连接使用时,可以成功连接到Google Cloud MySql服务器,但是尝试通过实例名称和JDBC socketFactory进行连接时,BUT无法连接到同一服务器。我在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;
        }
java mysql google-app-engine jdbc
1个回答
0
投票

问题可能出在您在云mysql实例中指定的公共IP地址。只需在浏览器中键入我的公共IP是什么?即可检查公共IP地址。然后更新为Google云端实例指定的公共IP。这可能有助于解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.