相关疑难解决方法(0)

连接到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();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是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 …
Run Code Online (Sandbox Code Playgroud)

java ssl database-connection mysql-error-1064

293
推荐指数
11
解决办法
38万
查看次数

SQL Ant 任务:警告:不建议在没有服务器身份验证的情况下建立 SSL 连接

我正在ant taskMySQL-5.7 服务器上运行一些 SQL,但我不想使用 SSL。我目前正在使用mysql-connector-java-5.1.42.jar连接到 MySQL-5.7 ( v5.7.18-0ubuntu0.16.04.1)

我的 SQL 属性如下所示

<sql
    url="jdbc:mysql://mysql.box.lan:3306/mydb?autoReconnect=true&amp;useSSL=false&amp;verifyServerCertificate=false"
    userid="my-user"
    password="xxx"
    driver="com.mysql.jdbc.Driver"
    onerror="continue"
    showWarnings="false"
    delimiter=";"
    encoding="UTF-8">
Run Code Online (Sandbox Code Playgroud)

不幸的是,驱动程序似乎并不关心 和/或 的任何组合autoReconnectuseSSL如此verifyServerCertificate此处此处所述

确切的错误是

2017 年 6 月 22 日星期四 12:20:32 GMT 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 显式禁用 SSL,或者设置 useSSL=true 并提供用于服务器证书验证的信任库。

mysql maven-ant-tasks

5
推荐指数
1
解决办法
858
查看次数