java.sql.SQLNonTransientConnectionException Public Key Retrieval is not allowed
報(bào)錯(cuò)信息
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版本的數(shù)據(jù)庫在連接的時(shí)候報(bào)錯(cuò)java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
只要在url的后邊加上allowPublicKeyRetrieval=true重啟即可
allowPublicKeyRetrieval=true
jdbc:mysql:///ymcc-system&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
參數(shù)說明:
1.useSSL=falseMySQL 8.0 以上版本不需要建立 SSL 連接的,需要顯示關(guān)閉
2.allowPublicKeyRetrieval=true 允許客戶端從服務(wù)器獲取公鑰。
3.serverTimezone=UTC 設(shè)置時(shí)區(qū),mysql驅(qū)動8.0+也要指定時(shí)區(qū),不然也會報(bào)一些錯(cuò)
最后總結(jié):如果您使用的mysql是8.0+,建議最好把以上三個(gè)參數(shù)設(shè)置下,避免發(fā)生一些莫名錯(cuò)誤。
先自我介紹一下,小編13年上師交大畢業(yè),曾經(jīng)在小公司待過,去過華為OPPO等大廠,18年進(jìn)入阿里,直到現(xiàn)在。深知大多數(shù)初中級java工程師,想要升技能,往往是需要自己摸索成長或是報(bào)班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則近萬元的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效率很低又漫長,而且容易碰到天花板技術(shù)停止不前。因此我收集了一份《java開發(fā)全套學(xué)習(xí)資料》送給大家,初衷也很簡單,就是希望幫助到想自學(xué)又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。添加下方名片,即可獲取全套學(xué)習(xí)資料哦
總結(jié)
以上是生活随笔為你收集整理的java.sql.SQLNonTransientConnectionException Public Key Retrieval is not allowed的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:Adaptive Cross-
- 下一篇: CL-ReLKT: Cross-ling