在使用mysql的6.0.x以上的jar的時候,須要在代碼url的連接裏面指定serverTimezone。不然就會出現異常。 若是在url中未指定serverTimezone url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8 則會出現:Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support 此異常 由於以前這種問題確實沒有遇到過,由於google後,找到的答案是在url後面加上參數?serverTimezone=utcjava
eg:url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false
mysql
此時雖然服務能夠正常啓動了,程序不報錯了,可是又會有新的問題發生,就是咱們在用java代碼插入到數據庫時間的時候卻出現了問題。 好比在java代碼裏面插入的時間爲:2019-04-12 13:29:56 可是在數據庫裏面顯示的時間卻爲:2019-04-12 05:29:56 仔細一想,UTC表明的是全球標準時間 ,可是咱們使用的時間是北京時區也就是東八區,領先UTC八個小時。因此應該是:UTC + (+0800) = 本地(北京)時間 解決方案:url的時區使用中國標準時間,所以須要修改時區: serverTimezone=Asia/Shanghai
sql
問題解決!!!數據庫