一、问题
在使用 Mybatis 操作数据库时,在单元测试时出现了这个问题
Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
这个报错的意思是:不允许公开密钥检索
这是 Mysql 连接超时的错误,根据异常信息提示,可能是由于连接字符串URL中缺少"allowPublicKeyRetrieval=true"参数导致的。文章来源:https://www.toymoban.com/news/detail-776417.html
二、解决方法
1、修改MySQL数据库连接字符串URL,在末尾追加"?allowPublicKeyRetrieval=true"参数,例如:
String url = "jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true&useSSL=false";
2、如果您使用的是Java 8及以上版本,可以将SSL模式设置为"false",即在JDBC驱动程序中通过添加一个额外属性来关闭SSL,例如:
String url = "jdbc:mysql://localhost:3306/mydatabase?sslMode=DISABLED";
这样就不需要"allowPublicKeyRetrieval=true"参数选项了。文章来源地址https://www.toymoban.com/news/detail-776417.html
3、更新MySQL Connector/J驱动到最新版本。如果您当前使用的是旧版本的MySQL Connector/J驱动,建议您更新驱动程序到最新版本并重新尝试连接,因为较新版本的驱动程序可能会修复与公钥检索相关的问题。
到了这里,关于解决: Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!