OpenJDK无法连接MySQL

OpenJDK无法连接MySQL

错误信息

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) ~[na:1.8.0_302]
	at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98) ~[na:1.8.0_302]
	at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220) ~[na:1.8.0_302]
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:432) ~[na:1.8.0_302]
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:410) ~[na:1.8.0_302]
	at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:315) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:99) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:352) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	... 97 common frames omitted

原因:OpenJDK默认TSL协议和Mysql不匹配

解决办法:

  • 连接的url最后加上
?enabledTLSProtocols=TLSv1.2

但是接着会出现这样的错误,原因是SSL协议不支持,要设置为false

image-20210902203218887

完整的URL:

url: jdbc:mysql//地址:端口号/数据库?enabledTLSProtocols=TLSv1.2&useSSL=false

猜你喜欢

转载自blog.csdn.net/weixin_45636641/article/details/120175900