报错信息

2022-03-18 17:46:43.428 ERROR 20704 — [eate-1849941462] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql:///ymcc-uaa&useSSL=false&serverTimezone=UTC, errorCode 0, state 08001
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1513) ~[druid-1.1.9.jar:1.1.9]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1578) ~[druid-1.1.9.jar:1.1.9]
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2466) ~[druid-1.1.9.jar:1.1.9]

如何解决

mysql8.x版本的数据库在连接的时候报错java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

只要在url的后边加上allowPublicKeyRetrieval=true重启即可

allowPublicKeyRetrieval=true

jdbc:mysql:///ymcc-system&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

参数说明:

1.useSSL=falseMySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭
2.allowPublicKeyRetrieval=true 允许客户端从服务器获取公钥。
3.serverTimezone=UTC 设置时区,mysql驱动8.0+也要指定时区,不然也会报一些错

最后总结:如果您使用的mysql是8.0+,建议最好把以上三个参数设置下,避免发生一些莫名错误。

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

java.sql.SQLNonTransientConnectionException Public Key Retrieval is not allowed相关推荐

  1. 解决java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

    解决java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 在连接数据库的url中,加上all ...

  2. mybatis运行报错java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

    mybatis运行报错1 报错:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 解决方 ...

  3. java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

    问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 同时还有以下问题: HHH000 ...

  4. 解决mybatis java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

    Mybatis报错 Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectio ...

  5. 运行报错:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed.解决方案

    在数据库连接地址'url' 后面增加'&allowPublicKeyRetrieval=true'这串代码即可解决. 一般相关的设置还有'serverTimezone=UTC' 'useSSL ...

  6. JDBC使用报错: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not all

    报错信息: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not all 在url的后边加上 allowPu ...

  7. mysql 8.0 解决报错Public Key Retrieval is not allowed

    项目中数据库mysql从5.7升到8.0后启动报错:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not a ...

  8. MySQL连接报错Public Key Retrieval is not allowed错误

    Mysql 8.x版本连接时报错 java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 可能 ...

  9. Public Key Retrieval is not allowed(已解决)

    Public Key Retrieval is not allowed(已解决) 在url的连接中加上allowPublicKeyRetrieval=true

最新文章

  1. 【计算理论】计算复杂性 ( 多项式等价 | P 类 | 丘奇-图灵论题延伸 )
  2. 最简单的Sublime插件开发教程
  3. 获取窗口上指定控件集合 2012-08-22 16:14 498人阅读 评论(0) 收藏...
  4. Releasing Contexts 释放上下文
  5. c++ file* 句柄泄漏_C++核心准则?讨论:持有没有被句柄管理的资源时切勿抛出异常...
  6. 请问spfa+stack 和spfa+queue 是什么原理
  7. 2019智能手表推荐_戴过 100 块智能手表后,2019年我觉得这4款智能手表最值得买!...
  8. USDT(omniCore)测试环境搭建
  9. 网络摄像头转usb接口_同时读取多个摄像头数据(包括海康网络摄像头和USB摄像头)...
  10. 07向量的点积、数量积、两向量垂直的条件、投影与投影向量、向量的正交分解、几个不等式、用坐标计算数量积
  11. PHP array_rand随机获取数组中的数据
  12. C语言实现九九乘法表(四种情况)
  13. axure8 Mac破解版+汉化包
  14. 2022数学建模美赛回顾
  15. AXD 调试经验,使用及问题
  16. iOS----------关于UDID和UUID的一些理解
  17. Java教学视频全集,活见久
  18. ADP的人力资源外包方法论
  19. 关于条码和标签打印以及条码打印机编程
  20. android studio高德地图的显示于定位(附带逆地理编码围栏)

热门文章

  1. 使用Prometheus监控web站点及证书过期
  2. Java 描述,数字转换为罗马数字。
  3. window7激活方法
  4. MetaFormer-3
  5. 字符串写入到json文件
  6. python判断成年_用python判断你是青少年还是老年人
  7. Android 开发中的日常积累
  8. WordPress 如何判断访客浏览器显示不同内容
  9. ucr计算机专业排名,UC加州大学各分校哪些专业特别牛?
  10. python出现warning_Python warning警告出现的原因及忽略方法