通过以下两个类,我尝试连接到MySQL数据库 . 但是,我总是得到这个错误:
Wed Dec 09 22:46:52 CET 2015 WARN:不建议在没有服务器身份验证的情况下 Build SSL连接 . 根据MySQL 5.5.45,5.6.26和5.7.6要求,如果未设置显式选项,则必须默认 Build SSL连接 . 为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false” . 您需要通过设置useSSL = false显式禁用SSL,或者设置useSSL = true并为服务器证书验证提供信任库 .
这是带有 main
方法的测试类:
public class TestDatabase {
public static void main(String[] args) {
Database db = new Database();
try {
db.connect();
} catch (Exception e) {
e.printStackTrace();
}
db.close();
}
}
这是 Database
类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Database {
private Connection con;
public void connect() throws Exception{
if(con != null) return;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new Exception("No database");
}
String connectionURL = "jdbc:mysql://localhost:3306/Peoples";
con = DriverManager.getConnection(connectionURL, "root", "milos23");
}
public void close(){
if(con != null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
10 回答
您的连接网址应如下所示,
这将禁用SSL并抑制SSL错误 .
如何使用SSL但关闭服务器验证(例如在您自己的计算机上处于开发模式时):
另一种方法是:
虽然,我不认为需要自动重新连接设置来删除警告 .
提到 url 喜欢:
但是当您提到 & 符号时,在xml配置中,IDE会显示以下错误:
然后你必须明确地使用 & 而不是 & 被 & 确定为
xml
此后在xml
中你必须给出xml配置中的url,如下所示:你需要像这样使用你的mysql路径:
在与MySQL Build 连接时使用它来解决配置单元中的问题
我也发现了这个警告,然后通过对连接字符串使用SSL = false后缀来修复它,就像这个示例代码一样 .
Example:
这对我来说没问题:
新版本的mysql-connector默认 Build SSL连接...解决它:
下载旧版本的mysql-connector,例如mysql-connector-java-5.0.8.zip
. . 要么 . . 下载OpenSSL for Windows并按照说明如何设置它
我在config xml中将此属性用于hibernate
没有 - serverTimezone = UTC - 它不起作用