解決java.sql.SQLException:The?server?time?zone?value?'?D1ú±ê×?ê±??'?is?unrecognized問題
在使用SpringBoot鏈接mysql數(shù)據(jù)庫時(shí)遇到mysql時(shí)區(qū)問題,總結(jié)了三種方法
出現(xiàn)問題的環(huán)境
springBoot2.1.4+mysql數(shù)據(jù)庫
出現(xiàn)問題的原因
SpringBoot2.1在沒有指定MySQL驅(qū)動(dòng)版本的情況下它自動(dòng)依賴的驅(qū)動(dòng)是8.0的版本,而在安裝mysql數(shù)據(jù)庫時(shí)一般都不會(huì)設(shè)置時(shí)區(qū),系統(tǒng)默認(rèn)的時(shí)區(qū)是美國,北京時(shí)間比美國時(shí)間晚8個(gè)小時(shí)。
所以出現(xiàn)了
The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized …的問題。
解決辦法總結(jié)
1)最low的辦法,指定mysqlJDBC的低版本驅(qū)動(dòng)。
如下:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.28</version> <scope>runtime</scope> </dependency>
使用maven的這樣,手動(dòng)導(dǎo)包的可直接導(dǎo)入低版本的jar包(手動(dòng)導(dǎo)入后記得buildpath,并且刪除不合適的版本)。
2)修改mysql配置文件;安裝mysql默認(rèn)路徑一般都是在c盤,例如我的路徑是:C:\Program Files\MySQL\MySQL Server 5.6,有一個(gè)my.ini(或者my-default.ini) 的配置文件。
打開配置文件修改如下(添加 default-time-zone=’+08:00’):
3)推薦使用第三種:將jdbcurl連接設(shè)置時(shí)區(qū);
spring.datasource.jdbc-url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
如果是在代碼中耦合的,直接改代碼中的地址即可
4)使用cmd:(安裝mysql默認(rèn)會(huì)將mysql配置到環(huán)境變量的path從而可以執(zhí)行cmd命令) 使用mysql命令登錄mysql
mysql -uroot -p******
登錄成功后輸入show variables like ‘%time_zone%’;
這里的system是系統(tǒng)默認(rèn)的時(shí)區(qū),即美國時(shí)間
輸入 set global time_zone=’+8:00’; (輸入完畢后進(jìn)行檢查)再次輸入show variables like ‘%time_zone%’;
(ps;不一定成功,我自己測(cè)試沒有成功,選擇的配置jdbcurl的辦法)
總結(jié)
這四種辦法總有一種可以成功,以前的版本的沒有時(shí)區(qū)問題,遇到了就總結(jié)下來了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- java.sql.SQLException:?connection?holder?is?null錯(cuò)誤解決辦法
- Java中java.sql.SQLException異常的正確解決方法(親測(cè)有效!)
- 解決java.sql.SQLException:索引中丟失 IN或OUT 參數(shù)::x問題
- java報(bào)錯(cuò)Cause: java.sql.SQLException問題解決
- java.sql.SQLException:com.mysql.cj.jdbc.Driver報(bào)錯(cuò)問題解決
- java.sql.SQLException問題解決以及注意事項(xiàng)
相關(guān)文章
java中用float時(shí),數(shù)字后面加f,這樣是為什么你知道嗎
這篇文章主要介紹了java用float時(shí),數(shù)字后面加f,這樣是為什么你知道嗎?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09MyBatis-Plus通用CRUD操作的實(shí)現(xiàn)
MyBatis-Plus是基于MyBatis的增強(qiáng)工具,主要目的是簡化MyBatis的使用并提升開發(fā)效率,它提供了通可以用CRUD操作、分頁插件、多種插件支持、自動(dòng)代碼生成器等功能,感興趣的可以了解一下2024-10-10spring-cloud-gateway降級(jí)的實(shí)現(xiàn)
這篇文章主要介紹了spring-cloud-gateway降級(jí)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04通過FeignClient如何獲取文件流steam?is?close問題
這篇文章主要介紹了通過FeignClient如何獲取文件流steam?is?close問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06