解決MySQL8.0時區的問題步驟
java將當前時間保存到MySQL數據庫時,MySQL中的時間不正確
問題分析原因一:java數據庫連接使用UTC時區(世界標準時間),即serverTimezone=UTC
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=true
原因二:MySQL使用的time_zone屬性是+00:00,而北京時間比UTC時間早8小時,即UTC+08:00
檢查MySQL/** * 可查看全局的時區設置和會話的時區設置 * global.time_zone負責java連接數據庫時的時區設置 * session.time_zone負責Navicat客戶端連接數據庫時的時區設置 * /mysql> select @@global.time_zone,@@session.time_zone;/** * 還有一種方法 * System代表采用系統時區 * CST是一種很亂的時區,它包括了4個時區 * /mysql> show variables like ’%time_zone%’; // 驗證時區,這行命令可以檢測session.time_zone是否正確配置mysql> select now();解決方法
步驟一:修改java中的時區為東八區
// serverTimezone可以設置為北京時間GMT%2B8、上海時間Asia/Shanghai或者香港時間Hongkongurl: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true
步驟二:修改MySQL數據庫的時區為東八區
// 方法一:使用命令(優點:不需要重啟MySQL服務,缺點:一旦MySQL服務被重啟,設置就會消失)mysql> set time_zone = ’+8:00’;mysql> set global time_zone = ’+8:00’;// 方法二:修改my.ini配置文件(優點:永久保存設置,缺點:需重啟MySQL服務)[mysqld]// 設置默認時區default-time_zone=’+8:00’
到此這篇關于解決MySQL8.0時區的問題步驟的文章就介紹到這了,更多相關MySQL8.0時區內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
