Rob*_*Rob 5 mysql maven-ant-tasks
我正在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&useSSL=false&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)
不幸的是,驱动程序似乎并不关心 和/或 的任何组合autoReconnect,useSSL如此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 并提供用于服务器证书验证的信任库。
这个怎么样:
<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>
Run Code Online (Sandbox Code Playgroud)
我猜测 ant 不会解析连接 url 属性/不会使用它们进行连接。通过使用来connectionProperty设置各个值,这似乎是一个“合乎逻辑”的事情
https://ant.apache.org/manual/Tasks/sql.html