java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
這個錯誤
百度了很多,都說是jdbc數據庫驅動版本太高,降低就好了,後來自己排查,發現問題確實出在版本,下面是我這邊問題的解決辦法,不一定能保證都能解決大家相同的異常,同時寫下來記錄一下自己的學習過程。
首先打開pom.xml,找到mysql連接驅動的依賴
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>runtime</scope>
- </dependency>
我的項目依賴是在創建項目時選擇的依賴,然後在項目創建後由IDEA自動添加的依賴,如上代碼就是自動添加的依賴,不過自動添加的依賴是沒有版本號<version></version>的,可能是默認版本比較高,所以我這邊一直出錯,連接不了。然後我添加上版本號,變成如下
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.37</version>
- <scope>runtime</scope>
- </dependency>
保存。但是這裏問題還沒有解決,返回到application.properties/application.yml文件中,發現spring.datasource.driver-class-name後的驅動名變成了紅色,報錯,解決辦法:右鍵pom.xml——>maven——>Download Source,等待下載完畢,問題解決。
關於這邊的spring.datasource.driver-class-name配置還有要注意的一點,在mysql5中,jdbc連接mysql5是com.mysql.jdbc.Driver,而mysql6以及以上是com.mysql.cj.jdbc.Driver,並且在url之後要指定時區。
=================================================