MySQL時(shí)區(qū)查看及設(shè)置全過程
說明
在服務(wù)器環(huán)境下(linux 或 docker),有時(shí)系統(tǒng)時(shí)區(qū)默認(rèn)是 UTC 時(shí)區(qū),這時(shí)需要格外注意下應(yīng)用使用的時(shí)區(qū)信息。
若查詢條件中含有 Now()/sysdate(),則會按 mysql 的時(shí)區(qū)信息查詢,造成時(shí)間錯亂。
可以使用 select now(); 來檢查 mysql 的當(dāng)前時(shí)間是否準(zhǔn)確。
查看數(shù)據(jù)庫獲取的當(dāng)前時(shí)間語句:
select SYSDATE(); select now();
查看時(shí)區(qū)
show variables like '%time_zone%';

看到MySQL 服務(wù)器使用操作系統(tǒng)的時(shí)區(qū)設(shè)置,系統(tǒng)使用了CST時(shí)區(qū)
Time zone: Asia/Shanghai (CST, +0800):
中國標(biāo)準(zhǔn)時(shí)間:China Standard Time UT+8:00
[root@hcss-ecs-3983 ~]# timedatectl
Local time: Sun 2024-07-28 14:43:17 CST
Universal time: Sun 2024-07-28 06:43:17 UTC
RTC time: Sun 2024-07-28 06:43:15
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[root@hcss-ecs-3983 ~]# date
Sun Jul 28 14:46:38 CST 2024Java程序MySQL鏈接url配置
url: jdbc:mysql://127.0.0.1:3306/mydata?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
修改MySQL的時(shí)區(qū)
可以使用以下命令修改數(shù)據(jù)庫的時(shí)區(qū)
SET GLOBAL time_zone = 'Asia/Shanghai'; SET time_zone = 'Asia/Shanghai';
也可以修改my.cnf配置文件修改,添加一行,重啟MySQL服務(wù)生效
default-time-zone=Asia/Shanghai
docker容器使用宿主機(jī)時(shí)區(qū)
命令格式:
docker exec your_container_name ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
通過容器名去修改,示例如下:
[root@hcss-ecs-3983 ~]# history | grep timezone 1299 2024-07-14 13:43:34 root docker exec mysql ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone 2159 2024-07-28 15:00:25 root history | grep timezone [root@hcss-ecs-3983 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 577359655a60 redis:6.0.6 "docker-entrypoint.s…" 5 weeks ago Up 2 weeks 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp myredis 920994cf01b0 mysql:8.0.30 "docker-entrypoint.s…" 7 weeks ago Up 3 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
修改后,容器的時(shí)間:
bash-4.4# date Sun Jul 28 15:01:50 CST 2024 bash-4.4#
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Win10安裝MySQL5.7.18winX64 啟動服務(wù)器失敗并且沒有錯誤提示
這篇文章主要介紹了Win10安裝MySQL5.7.18winX64 啟動服務(wù)器失敗并且沒有錯誤提示,需要的朋友可以參考下2017-06-06
mysql數(shù)據(jù)庫備份設(shè)置延時(shí)備份方法(mysql主從配置)
這篇文章主要介紹了mysql數(shù)據(jù)庫延時(shí)備份的方法,也就是mysql主從服務(wù)器備份,可以同步到多個服務(wù)器,最后我們提供了一個備份腳本,大家參考使用吧2013-12-12
Mysql中報(bào)錯函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理詳解
在項(xiàng)目中的SQL語句中遇到幾個數(shù)值處理函數(shù),看著有些懵,就小小的總結(jié)一下,這篇文章主要給大家介紹了關(guān)于Mysql中報(bào)錯函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理的相關(guān)資料,需要的朋友可以參考下2022-07-07
MySQL中DATE_FORMAT時(shí)間函數(shù)的使用小結(jié)
本文主要介紹了MySQL中DATE_FORMAT時(shí)間函數(shù)的使用小結(jié),用于格式化日期/時(shí)間字段,可提取年月、統(tǒng)計(jì)月份數(shù)據(jù)、精確到天,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動腳本
這篇文章主要介紹了老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
MySQL的常見存儲引擎介紹與參數(shù)設(shè)置調(diào)優(yōu)
這篇文章主要介紹了MySQL的常見存儲引擎介紹與參數(shù)設(shè)置調(diào)優(yōu),需要的朋友可以參考下2018-03-03
在MySQL中如何存取List<String>數(shù)據(jù)
這篇文章主要介紹了在MySQL中如何存取List<String>數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
MySQL的一條慢SQL查詢導(dǎo)致整個網(wǎng)站宕機(jī)的解決方法
通常來說,我們看到的慢查詢一般還不致于導(dǎo)致掛站,頂多就是應(yīng)用響應(yīng)變慢不過這個恰好今天被我撞見了,一個慢查詢把整個網(wǎng)站搞掛了2016-07-07

