这是我用来连接到服务器的代码:
String records = "",error="";
void connectToDatabase() {
try {
String ip = "";//mysql server ip(removed due to privacy reasons)
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection("jdbc:mysql://" + ip +":3306/androiddb?user=andro&password=andro");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM mainTable");
while (resultSet.next()) {
records += resultSet.getString(1) + " " + resultSet.getString(2) + "\n";
}
System.out.println(records);
} catch (Exception e) {
error = e.toString();
System.out.println(error);
}
}
异常:
java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
my.ini 文件:
[mysqld]
basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0
datadir=C:\\Program Files\\MySQL\\MySQL Server 8.0\\data
bind-address = *mysql server ip*
我使用 mysql 服务器 8.0.24 和 jdbc 8.0.24
UPD:我不知道为什么,但它在我安装 jdbc 5.0.41 后开始工作
答案 0 :(得分:-1)
我在 MySQL 8.0.23 和 jdbc 连接器 8.0.24 上遇到了同样的错误。在我看来,通过在字符串中添加参数 `&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=GMT%2B9:00&rewriteBatchedStatements=true&connectionTimeZone=SERVER' 连接成功。有关详细信息,请参阅发行说明。
希望对你有帮助。