解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟
java將當(dāng)前時(shí)間保存到MySQL數(shù)據(jù)庫(kù)時(shí),MySQL中的時(shí)間不正確
問(wèn)題分析原因一:java數(shù)據(jù)庫(kù)連接使用UTC時(shí)區(qū)(世界標(biāo)準(zhǔn)時(shí)間),即serverTimezone=UTC
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=true
原因二:MySQL使用的time_zone屬性是+00:00,而北京時(shí)間比UTC時(shí)間早8小時(shí),即UTC+08:00
檢查MySQL/** * 可查看全局的時(shí)區(qū)設(shè)置和會(huì)話的時(shí)區(qū)設(shè)置 * global.time_zone負(fù)責(zé)java連接數(shù)據(jù)庫(kù)時(shí)的時(shí)區(qū)設(shè)置 * session.time_zone負(fù)責(zé)Navicat客戶端連接數(shù)據(jù)庫(kù)時(shí)的時(shí)區(qū)設(shè)置 * /mysql> select @@global.time_zone,@@session.time_zone;/** * 還有一種方法 * System代表采用系統(tǒng)時(shí)區(qū) * CST是一種很亂的時(shí)區(qū),它包括了4個(gè)時(shí)區(qū) * /mysql> show variables like ’%time_zone%’; // 驗(yàn)證時(shí)區(qū),這行命令可以檢測(cè)session.time_zone是否正確配置mysql> select now();解決方法
步驟一:修改java中的時(shí)區(qū)為東八區(qū)
// serverTimezone可以設(shè)置為北京時(shí)間GMT%2B8、上海時(shí)間Asia/Shanghai或者香港時(shí)間Hongkongurl: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true
步驟二:修改MySQL數(shù)據(jù)庫(kù)的時(shí)區(qū)為東八區(qū)
// 方法一:使用命令(優(yōu)點(diǎn):不需要重啟MySQL服務(wù),缺點(diǎn):一旦MySQL服務(wù)被重啟,設(shè)置就會(huì)消失)mysql> set time_zone = ’+8:00’;mysql> set global time_zone = ’+8:00’;// 方法二:修改my.ini配置文件(優(yōu)點(diǎn):永久保存設(shè)置,缺點(diǎn):需重啟MySQL服務(wù))[mysqld]// 設(shè)置默認(rèn)時(shí)區(qū)default-time_zone=’+8:00’
到此這篇關(guān)于解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟的文章就介紹到這了,更多相關(guān)MySQL8.0時(shí)區(qū)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Oracle災(zāi)難防護(hù)的關(guān)鍵技術(shù)2. MySQL為什么要避免大事務(wù)以及大事務(wù)解決的方法3. MYSQL SQL查詢近7天一個(gè)月的數(shù)據(jù)的操作方法4. Oracle 11g透明數(shù)據(jù)加密安全特性解析5. 輕松掌握Oracle數(shù)據(jù)庫(kù)Where條件執(zhí)行順序6. 保“庫(kù)”之路:Oracle數(shù)據(jù)庫(kù)性能保護(hù)7. 解讀Oracle中代替like進(jìn)行模糊查詢的方法instr(更高效)8. 在SQL Server數(shù)據(jù)庫(kù)中如何減少死鎖發(fā)生9. Mybatis 動(dòng)態(tài)表名+Map參數(shù)傳遞+批量操作詳解10. 無(wú)責(zé)任Oracle圖書簡(jiǎn)評(píng) (1)
