国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于 Docker 部署 Mysql 的時(shí)區(qū)設(shè)置解決方案

這篇具有很好參考價(jià)值的文章主要介紹了基于 Docker 部署 Mysql 的時(shí)區(qū)設(shè)置解決方案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

場(chǎng)景描述

環(huán)境版本及條件:

  • 基于 Docker 部署的 Mysql:8.0.27 版本數(shù)據(jù)庫中。
  • datatime 數(shù)據(jù)類型的字段設(shè)置了默認(rèn)時(shí)間戳 CURRENT_TIME。
  • SpringBoot + MP。

問題復(fù)現(xiàn):

  • 使用MP插入數(shù)據(jù)時(shí),該字段的默認(rèn)時(shí)間戳比 Asia/Shanghai 時(shí)區(qū)少了 8 小時(shí)。

問題追因

排查過程:

  1. 查看 Mysql 時(shí)區(qū)配置屬性。
show variables like '%time_zone%';

+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | SYSTEM |
+------------------+--------+
  1. 查看 Docker 容器系統(tǒng)所處時(shí)區(qū)。
date -R
# Result:
Mon, 15 May 2023 15:50:42 +0000

原因分析:

  1. 創(chuàng)建 Mysql 容器時(shí)忘記選擇時(shí)區(qū),這時(shí) Docker 會(huì)默認(rèn)給選擇 UTC 時(shí)區(qū)。
  2. Docker 容器所在的系統(tǒng)的默認(rèn)時(shí)區(qū)為 +0000。
  3. Mysql 配置文件添加 default-time_zone=‘+8:00’ 后,重啟 Mysql 容器時(shí)區(qū)設(shè)置無效,分析 Mysql 服務(wù)強(qiáng)制使用其所在容器系統(tǒng)的時(shí)區(qū)。

解決方案

LXL:

  • 分析原因后通過查找相關(guān)資料,以下兩種方法親測(cè)有效哦?。?!

第一種方法:

  • 通過修改 Mysql 的 Variables 屬性,臨時(shí)修改,重啟后無效。
# 進(jìn)入容器
docker exec -it mysql1 /bin/bash

# 連接 mysql 服務(wù)
mysql -uroot -p

# 設(shè)置全局會(huì)話時(shí)區(qū)
set global time_zone = '+08:00';

# 設(shè)置當(dāng)前會(huì)話時(shí)區(qū)
set session time_zone = '+08:00';

# 設(shè)置后查看 Mysql 時(shí)區(qū)配置屬性。
show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | +08:00 |
+------------------+--------+

第二種方式:文章來源地址http://www.zghlxwxcb.cn/news/detail-672117.html

  • 通過修改 Docker 容器所使用的時(shí)區(qū),永久修改。
# 進(jìn)入容器
docker exec -it mysql1 /bin/bash

# 下列方法 1~3 中任選其一即可:
# 1.強(qiáng)制生成 Asia/Shanghai 時(shí)區(qū)文件軟鏈接
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 2.Asia/Shanghai 軟鏈接實(shí)際指向 PRC 文件,將其復(fù)制為 localtime 時(shí)區(qū)文件
cp /usr/share/zoneinfo/PRC /etc/localtime
# 3.通過 tzselect 命令,可選擇 Beijing、HongKong 城市時(shí)區(qū)
tzselect 

# 修改后查看當(dāng)前容器時(shí)區(qū)
date -R
Mon, 15 May 2023 23:05:49 +0800

# 連接 mysql 服務(wù)
mysql -uroot -p
# 設(shè)置后查看 Mysql 時(shí)區(qū)配置屬性。
show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+

到了這里,關(guān)于基于 Docker 部署 Mysql 的時(shí)區(qū)設(shè)置解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • linux docker 部署mysql8以上版本時(shí)彈出Access denied for user root @ localhost (using password: YES)的解決方案

    linux docker 部署mysql8以上版本時(shí)彈出Access denied for user root @ localhost (using password: YES)的解決方案

    該結(jié)論使用于java啟動(dòng)報(bào)錯(cuò) 也試用于windows連接報(bào)錯(cuò) 不止linux docker ????????1.配置文件的mysql或者命令參數(shù)的 密碼需要帶英文單引號(hào) ????????2.不可以掛載之前別的容器使用過的mysql數(shù)據(jù)目錄或者你的執(zhí)行命令里改過密碼,比如之前是run mysql password 123? 你改成了run mysql

    2024年02月19日
    瀏覽(23)
  • Mysql查看數(shù)據(jù)庫時(shí)區(qū)并設(shè)置時(shí)區(qū)

    Mysql查看數(shù)據(jù)庫時(shí)區(qū)并設(shè)置時(shí)區(qū)

    當(dāng)我們使用docker部署Mysql數(shù)據(jù)庫后,我們的數(shù)據(jù)庫時(shí)區(qū)會(huì)有偏差,下面我們看看如何解決: 1.查看數(shù)據(jù)庫時(shí)區(qū) 2.設(shè)置時(shí)區(qū) 修改配置文件my.cnf(my.ini),增加 參考如下:

    2024年02月12日
    瀏覽(22)
  • docker學(xué)習(xí)16-Docker 容器設(shè)置時(shí)區(qū)

    最近遇到一個(gè)問題,在本機(jī)部署操作時(shí),獲取本機(jī)當(dāng)前時(shí)間存到mysql數(shù)據(jù)庫,時(shí)間是當(dāng)前北京時(shí)間沒問題。 但是用Docker 容器部署項(xiàng)目,發(fā)現(xiàn)時(shí)間少了8個(gè)小時(shí),于是想到是docker容器的內(nèi)部時(shí)區(qū)問題。 docker 容器一般是debian系統(tǒng),默認(rèn)是UTC標(biāo)準(zhǔn)時(shí)間 或者先刪除localtime 再給軟鏈接

    2024年02月13日
    瀏覽(27)
  • docker容器設(shè)置時(shí)區(qū)

    1、 在dockerfile中設(shè)置鏡像時(shí)區(qū) 2、 創(chuàng)建容器時(shí)設(shè)置時(shí)區(qū) 3、進(jìn)入容器進(jìn)行設(shè)置 docker exec -it 容器名 /bin/bash rm /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 3、 通過傳遞環(huán)境變量改變?nèi)萜鲿r(shí)區(qū) 適用于基于 Debian 基礎(chǔ)鏡像, CentOS 基礎(chǔ)鏡像 制作的 Docker 鏡像 不適用于基于 A

    2024年02月05日
    瀏覽(24)
  • 【docker】設(shè)置 docker 國(guó)內(nèi)鏡像倉庫報(bào)錯(cuò),解決方案

    【docker】設(shè)置 docker 國(guó)內(nèi)鏡像倉庫報(bào)錯(cuò),解決方案

    daemon.json 格式錯(cuò)誤 配置沖突 ,如 daemon.json 和?docker.service 中同時(shí)配置了同一個(gè)參數(shù) 1. 刪除?daemon.json 或者 重命名成 daemon.conf ( 不推薦,效果相同 ) ??????? ?全網(wǎng)很多博主的解決方案是重命名成 daemon.conf,但是通過docker info查看發(fā)現(xiàn),配置并未生效 2. 復(fù)制標(biāo)準(zhǔn)的 daemo

    2024年02月05日
    瀏覽(29)
  • Docker之 Dockerfile 時(shí)區(qū)設(shè)置

    通過Dockerfile 文件可以編譯鏡像,但是在docker 容器里面經(jīng)常會(huì)遇到時(shí)區(qū)設(shè)置問題,在此做個(gè)總結(jié)。 例1: Dockerfile 文件: 時(shí)區(qū)設(shè)置: 例2: Dockerfile 文件: 時(shí)區(qū)設(shè)置: 例3: Dockerfile 文件: 時(shí)區(qū)設(shè)置: 對(duì)于linux ln 命令不熟的小伙伴可以參考此文 :Linux 操作命令之 ln 命令

    2024年02月14日
    瀏覽(22)
  • mysql 時(shí)區(qū)設(shè)置

    mysql 時(shí)區(qū)設(shè)置

    方法一:修改 mysql 的配置文件永久設(shè)置時(shí)區(qū)(優(yōu)點(diǎn):永久保存設(shè)置,缺點(diǎn):需重啟MySQL服務(wù)) 找到你MySQL的安裝目錄(如果不記得安裝在哪 可以輸入 show variables like “%char%”; 查看), 在其my.ini文件且打開它,找到 mysqld ,在該下面添加 default-time_zone = ‘+8:00’,然后保存。

    2024年02月03日
    瀏覽(16)
  • Docker系列---【Docker設(shè)置時(shí)區(qū)的三種方式】

    將宿主機(jī)與容器的時(shí)間進(jìn)行掛載,直接使用宿主機(jī)的時(shí)區(qū)

    2024年02月17日
    瀏覽(23)
  • docker開啟的Mysql修改時(shí)區(qū)

    docker開啟的Mysql修改時(shí)區(qū)

    進(jìn)入docker 查詢和修改時(shí)區(qū) 注意:MySQL 中存儲(chǔ)的時(shí)間默認(rèn)為 UTC 時(shí)間,因此需要根據(jù)需要進(jìn)行轉(zhuǎn)換。 你可以使用以下命令查詢 MySQL 當(dāng)前的時(shí)區(qū): 該命令會(huì)返回 MySQL 當(dāng)前的全局時(shí)區(qū)設(shè)置,如果你想查詢當(dāng)前會(huì)話的時(shí)區(qū)設(shè)置,可以使用以下命令: 如果 MySQL 顯示的時(shí)區(qū)為 SYSTEM ,

    2024年02月12日
    瀏覽(20)
  • 【Docker】Docker 部署 Mysql 并設(shè)置數(shù)據(jù)持久化

    我們使用Docker的目的就是圖它方便下載部署,不用常規(guī)的經(jīng)歷下載、配置、安裝等等繁瑣的步驟。但是與此同時(shí)Docker也存在一些缺點(diǎn),像刪除容器后數(shù)據(jù)就都沒有了。很顯然,不能持久化對(duì)于需要數(shù)據(jù)持久化的MySQL數(shù)據(jù)庫來說是不能接受的,那有沒有方式可以解決。 有,通過

    2024年02月10日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包