解決MySQL8.0時區(qū)的問題步驟
java將當(dāng)前時間保存到MySQL數(shù)據(jù)庫時,MySQL中的時間不正確
問題分析原因一:java數(shù)據(jù)庫連接使用UTC時區(qū)(世界標(biāo)準(zhǔn)時間),即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/** * 可查看全局的時區(qū)設(shè)置和會話的時區(qū)設(shè)置 * global.time_zone負(fù)責(zé)java連接數(shù)據(jù)庫時的時區(qū)設(shè)置 * session.time_zone負(fù)責(zé)Navicat客戶端連接數(shù)據(jù)庫時的時區(qū)設(shè)置 * /mysql> select @@global.time_zone,@@session.time_zone;/** * 還有一種方法 * System代表采用系統(tǒng)時區(qū) * CST是一種很亂的時區(qū),它包括了4個時區(qū) * /mysql> show variables like ’%time_zone%’; // 驗證時區(qū),這行命令可以檢測session.time_zone是否正確配置mysql> select now();解決方法
步驟一:修改java中的時區(qū)為東八區(qū)
// serverTimezone可以設(shè)置為北京時間GMT%2B8、上海時間Asia/Shanghai或者香港時間Hongkongurl: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true
步驟二:修改MySQL數(shù)據(jù)庫的時區(qū)為東八區(qū)
// 方法一:使用命令(優(yōu)點:不需要重啟MySQL服務(wù),缺點:一旦MySQL服務(wù)被重啟,設(shè)置就會消失)mysql> set time_zone = ’+8:00’;mysql> set global time_zone = ’+8:00’;// 方法二:修改my.ini配置文件(優(yōu)點:永久保存設(shè)置,缺點:需重啟MySQL服務(wù))[mysqld]// 設(shè)置默認(rèn)時區(qū)default-time_zone=’+8:00’
到此這篇關(guān)于解決MySQL8.0時區(qū)的問題步驟的文章就介紹到這了,更多相關(guān)MySQL8.0時區(qū)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. MySQL中文亂碼問題解決方案2. MySql如何使用not in實現(xiàn)優(yōu)化3. Microsoft Office Access隱藏和顯示字段的方法4. MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因5. MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解6. MYSQL(電話號碼,身份證)數(shù)據(jù)脫敏的實現(xiàn)7. 淺談數(shù)據(jù)庫日期類型字段設(shè)計應(yīng)該如何選擇8. 八步解決ACCESS自動編號問題(將SQL SERVER 2000數(shù)據(jù)庫,轉(zhuǎn)換為ACCESS數(shù)據(jù)庫)9. SQL Server2019安裝后出現(xiàn)連接失敗的解決方法10. 解決Oracle賬戶被鎖定的問題
