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

时间:2017-06-22 12:40:14

标签: mysql maven-ant-tasks

我在MySQL-5.7服务器上运行ant task做一些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">

不幸的是,驱动程序似乎并不关心autoReconnectuseSSL和/或verifyServerCertificate的任何组合,如上所述herehere和{ {3}}

确切的错误是

  

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

1 个答案:

答案 0 :(得分:2)

这个怎么样:

<sql
    url="jdbc:mysql://mysql.box.lan:3306/mydb"
    userid="my-user"
    password="xxx"
    driver="com.mysql.jdbc.Driver"
    onerror="continue"
    showWarnings="false"
    delimiter=";"    
    encoding="UTF-8">
    <connectionProperty name="useSSL" value="false" />
    <connectionProperty name="verifyServerCertificate" value="false" />
    <connectionProperty name="autoReconnect" value="true" />
</sql>

我猜测蚂蚁没有解析连接网址属性/没有使用它们进行连接。这似乎是一个“合乎逻辑的”#34;要使用connectionProperty设置单个值

来尝试

https://ant.apache.org/manual/Tasks/sql.html