使用idea連接數據庫的時候,報錯為
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
后來查閱資料發現這都是因為安裝mysql的時候時區設置的不正確 mysql默認的是美國的時區,而我們中國大陸要比他們遲8小時,采用+8:00格式。使用的數據庫是MySQL,在你沒有指定MySQL驅動版本的情況下它自動依賴的驅動是8.0.12很高的版本,這是由於數據庫和系統時區差異所造成的,在jdbc連接的url后面加上serverTimezone=GMT即可解決問題,如果需要使用gmt+8時區,需要寫成GMT%2B8,否則會被解析為空。再一個解決辦法就是使用低版本的MySQL jdbc驅動,5.1.28不會存在時區的問題。
在連接字符串后面加上?serverTimezone=UTC
其中UTC是統一標准世界時間。
完整的連接字符串示例:jdbc:mysql://localhost:3306/test?serverTimezone=UTC
或者還有另一種選擇:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8,這個是解決中文亂碼輸入問題,當然也可以和上面的一起結合:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
另一種情況改成:jdbc:mysql://localhost:3306/test?serverTimezone=GMT 之后才行。
jdbc是mysql-connector-java-8.0.11.jar,設置過時區 set time_zone = ‘+8:00’
總結:出現這個問題先看自己系統設置的時區是UTC還是GMT,再找對應的解決辦法