猿问

连接到MySQL数据库时有关SSL连接的警告

连接到MySQL数据库时有关SSL连接的警告

通过以下两个类,我尝试连接到MySQL数据库。但是,我总是得到这个错误:

Wed Dec 09 22:46:52 CET 2015 WARN:不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45 +,5.6.26 +和5.7.6+要求如果未设置显式选项,则必须默认建立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();
            }
        }
    }}


qq_遁去的一_1
浏览 1239回答 3
3回答

慕村225694

解决方案要修复它,请在MySQL连接字符串的末尾追加useSSL = false:恩。application.propertiesmysql数据源spring.datasource.url=jdbc:mysql://localhost/dbname?useSSL=falsespring.datasource.username=rootspring.datasource.password=passwordspring.datasource.driver-class-name=com.mysql.jdbc.Driver

冉冉说

我也发现了这个警告,然后通过对连接字符串使用SSL = false后缀来修复它,就像这个示例代码一样。例:connectionString = "jdbc:mysql://{server-name}:3306/%s?useUnicode=yes&characterEncoding=UTF-8&useSSL=false"
随时随地看视频慕课网APP

相关分类

Java
我要回答