Tomcat的提示框一直显示:
WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide... |
怎么办?
这个问题其实不影响你的程序的使用。这个错误是因为新版本(5.5.45)之后要求连接mysql时是否使用SSL连接,一般设置不使用(false)即可。
延申:SSL连接:
主要功能: 1)认证用户服务器确保数据发送确客户机服务器; |
值得一提:最新版本为3.1,而SSL3.1就是TLS1.0) 另外SSL在双方进行时比较可靠,但在多方交易中,SSL并不能保证多方的信誉和安全。与之相对的,有一个SET协议。 |
如果你用了数据链接池,则在数据链接池的url一项进行修改,加上“?user=false”。
如果你是直接在方法中的conn使用jdbc,就在这个conn中加上“&useSSL=false”
实例:
//如果是在在数据连接池中(context.xml):
<?xml version="1.0" encoding="utf-8" ?>
<Context reloadable="true">
<Resource
name="jdbc/testDS"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
username="root"
password="123"
maxWait="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/no9?useSSL=false"//这里进行了变化
/>
</Context>
//如果在直接的Conn中:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","123456");
//这一段其实只需要?useSSL=false即可。
//其他几段意思:useUnicode=true&characterEncoding=utf-8这一段是说编码格式为utf-8,自己可以设置eclipse的默认编码格式;
//其他的,比如spring的配置文件中:
spring:
datasource:
url: jdbc:mysql://localhost:3306/orcl?characterEncoding=utf-8&useSSL=false