java mysql8 No appropriate protocol
时间: 2023-09-16 15:15:03 浏览: 78
mysql8-java
这个错误通常是由于 MySQL 8 默认启用了 SSL/TLS 加密协议,而 Java 应用程序与 MySQL 8 数据库之间的连接没有启用 SSL/TLS 导致的。解决方法如下:
1. 在 JDBC URL 中添加 useSSL=false 参数,例如:
```
jdbc:mysql://localhost:3306/mydatabase?useSSL=false
```
2. 将 MySQL 8 的 SSL/TLS 设置为可选,可以通过编辑 MySQL 配置文件(my.cnf 或 my.ini)并添加以下行来实现:
```
[mysqld]
ssl-mode=DISABLED
```
3. 在 Java 应用程序中启用 SSL/TLS,可以通过以下代码片段实现:
```
String truststorePath = "/path/to/truststore";
String truststorePassword = "password";
System.setProperty("javax.net.ssl.trustStore", truststorePath);
System.setProperty("javax.net.ssl.trustStorePassword", truststorePassword);
```
其中,truststorePath 是信任库的路径,truststorePassword 是信任库的密码。这个方法需要在 Java 代码中使用,不如第一种方法简便。
阅读全文