SpringBoot 連接mysql數(shù)據(jù)庫踩坑總結(jié)
(一)SQLException:無法加載身份驗(yàn)證插件“caching_sha2_password”弛说。
如下報(bào)錯(cuò):
?### The error may involve com.course.getUserCount ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
這是因?yàn)閙ysql8.0驅(qū)動(dòng)已經(jīng)更新適配了caching_sha2_password 的密碼規(guī)則轩猩,這個(gè)時(shí)候需要在你的maven項(xiàng)目里面引入依賴:
? ? <groupId>mysql
? ? <artifactId>mysql-connector-java
? ? <version>8.0.11
</dependency>
然后忍弛,重新啟動(dòng)java服務(wù)症见,再次訪問即可阅束。
(二)SQLSyntaxErrorException:未知數(shù)據(jù)庫'course&servertimezone=utc'
如下報(bào)錯(cuò):
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLSyntaxErrorException: Unknown database 'course&servertimezone=utc'
這是因?yàn)榕渲梦募锩嫘枰砑訒r(shí)區(qū)和編碼方式。
url: jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
改成示例配置即可躬存。