一、錯誤描述
Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException:
The server time zone value '�й���ʱ��' is unrecognized
原因:
在使用mysql的jdbc驅動最新版(6.0+)時,遇到數據庫和系統時區差異引起的問題。
二、解決方法
在連接字符串中明確指定serverTimezone。
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
三、時區問題
遇到的問題 servertime=UTC導致時間差8個小時(MySQL jdbc 6.0 版本以上必須配置此參數)
雖然上面加上時區程序不出錯了,但是我們在用java代碼插入到數據庫時間的時候卻出現了問題。
比如在java代碼裏面插入的時間爲:2017-08-21 17:29:56
但是在數據庫裏面顯示的時間卻爲:2017-08-21 09:29:56
3.根本原因
因爲時區設置的問題。
UTC代表的是全球標準時間 ,但是我們使用的時間是北京時區也就是東八區,領先UTC八個小時。
UTC + (+0800) = 本地(北京)時間
4.解決方案
url的時區使用中國標準時間。也是就serverTimezone=Asia/Shanghai
---------------------
作者:no bug 選手
來源:CSDN
原文:https://blog.csdn.net/yaphets__yj/article/details/77774874
解決方法:
如果指定使用gmt+8時區,需要寫成GMT%2B8,否則可能報解析爲空的錯誤。