MySql數據庫時區異常,java.sql.SQLException: The server time zone value '?й???׼ʱ?' is unrecognized or represents more than one time zone.


JDBC訪問MySql異常

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: java.sql.SQLException: 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.

原因分析

數據庫安裝時默認為英語,0:00時區

Windows系統中,XP的時區是GMT,而Win7的時區是UTC。

mysql返回的時間會比實際時間要早8小時。

解決方案,以下任選一種即可解決問題:

1、配置JDBC連接參數

在url連接字符串后面加上?serverTimezone=UTC

例如:
jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=UTC

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC

學點新知識:

UTC,世界均衡時間

GMT,格林尼治時間

北京時間(東八區),GMT+8,url中表示為:&serverTimezone=GMT%2B8

jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=GMT%2B8

我們一般認為GMT和UTC是一樣的,都與英國倫敦的本地時相同。

2、修改MySQL數據庫配置,需要DBA的root權限

使用root用戶登錄mysql

--查看時區值
show variables like '%time_zone%';

--設置為東八區(北京時間)
set global time_zone='+8:00';

 

3、有人說,使用低版本的MySQL jdbc驅動,5.1.47不會存在時區的問題,的確如此。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone 解決java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone SpingBoot 錯誤 java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone... eclipse連接mysql數據庫提示The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.解決方法 java.sql.SQLException: The server time zone value '脰脨鹿煤鹵錨脳錄脢鹵錄盲' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver 解決使用DBeaver連接MySQL時報錯-The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. mysql的時區錯誤問題,The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one mysql連接異常:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zo錯誤 報錯:Cannot create PoolableConnectionFactory (The server time zone value 'CST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverT springboot報錯The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM