JDBC连接数据库出现错误:Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
搜索资料,尝试解决。
问题原因:JDK版本不对,我的IDEA中安装的是JDK11 。MySQL在高版本需要指明是否进行SSL连接。
解决方案如下:在mysql连接字符串url中加入useSSL=true或者useSSL=false
方法一:更换JDK版本,参考网友的文章,JDK1.8的版本应该可以,但是太麻烦,我没有尝试。
方法二:查找自己电脑上Java安装目录下的java.security文件,我电脑内的地址为:"D:\JDKInstall\conf\security\java.security",记事本打开。
更改文件前,建议先进行文件备份
在记事本内搜索SSLv3找到对应的位置删除 TLSv1, TLSv1.1,运行成功,出现了自己想要的结果,但是还是出现了爆红,提示了错误原因。
可以看出,这次错误出现的原因本质是:MySQL在高版本需要指明是否进行SSL连接。继续修改,在url后添加“&useSSL=false” 。
重新运行,未出现爆红,完美解决。
补充:后续将java.security文件内删除的“TLSv1, TLSv1.1”重新添加进去,未影响结果。