Java專案連線資料庫Mysql報錯create connection SQLException

雨後天發表於2020-12-20

       今天編寫了一個Java專案,對資料庫Mysql的表進行增刪改查,然後遇到了這個問題

嚴重: create connection SQLException, url: jdbc:mysql://localhost:3306/springdb, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1652)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1718)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2785)

   百度了這個問題,根據網友們的建議進行如下檢查:

   1、檢查DataSource程式碼塊中的url、username、password、埠號是否與資料庫的相應資訊對應

     url=jdbc:mysql://localhost:3306/springdb

          username=root

          passwd=123456
          max=20
注:特別注意url,該冒號的地方冒號,該斜槓的地方斜槓,不能省
2、如若有用
3、以上都檢查了,還是出現了這個問題,最終查出我出現這個問題的原因是版本問題,我的Mysql的版本是8.0.21,專案中引入的mysql驅動依賴的版本是8.0.21,之後改成5.1.45,就沒有問題了,可以通過mybatis對資料庫進行增刪改查了
引用網友的話:進過一番查詢,最後發現是資料庫連線驅動版本的問題,根據[DRDS官方文件說明](https://help.aliyun.com/document_detail/117762.html),DRDS例項mysql版本為5.X,因此如果使用了高版本的mysql驅動,是無法進行連線的。

     

 

相關文章