MySQL在高版本需要指明是否进行SSL连接问题

今天在连接数据库的时候会出现如下警告:

 

Tue May 08 17:57:47 CST 2018 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 truststore for server certificate verification.

 

 

 

虽然连接任然可以连接成功,但是有这样一个红色警告还是很不爽的,万一以后出现一些错误,不知道是不是这里引发的,所以看了一下,大致意思就是,在mysql的高版本中,连接的过程中,需要表明一些格式:

解决方法:

只要在你的数据库的名字后面加上     

?useUnicode=true&characterEncoding=utf-8&useSSL=false

  即可。

如下:

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","root","123456");

这个地方改成conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","123456");

 

这里我再解释一下:

 

useUnicode:是否使用unicode

characterEncoding:字符编码格式

useSSL:是否使用ssl协议,在这里科普一下:

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL为Netscape所研发,用以保障在Internet上数据传输的安全,利用数据加密(Encryption)的技术,可确保数据在网络上的传输过程中不会被截取及窃听。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

 

其实前面2个加不加都可以,但需要加上最后一个是否使用SSL
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值