校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Docker的MySQL容器時區(qū)問題修改

Docker的MySQL容器時區(qū)問題修改

熱門標(biāo)簽:重慶營銷外呼系統(tǒng)排名 網(wǎng)站上插入地圖標(biāo)注內(nèi)容 企業(yè)400電話辦理哪正規(guī) 工廠位置地圖標(biāo)注 地圖標(biāo)注需要現(xiàn)場嗎 繽客網(wǎng)注冊時地圖標(biāo)注出不來 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 鶴壁電銷外呼系統(tǒng)怎么安裝 400電話辦理哪家好廠商

前言

阿航在開發(fā)Springboot項(xiàng)目時, 前端告訴驗(yàn)證碼一直無效. 本地測試沒有問題, 一看遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫時間, 哇塞–早了8小時. 很明顯, 是MySQL的時區(qū)問題. 本篇文章就來記錄下如何修改Docker 的 MySQL 容器時區(qū).

解決方案

先來校驗(yàn)下數(shù)據(jù)庫是否真的時區(qū)不對. 進(jìn)入MySQL數(shù)據(jù)庫, 運(yùn)行語句:

SELECT NOW();

會返回類似這樣的數(shù)據(jù):

mysql> SELECT NOW();
+---------------------+
| NOW()    |
+---------------------+
| 2020-07-04 15:46:46 |
+---------------------+
1 row in set (0.09 sec)

再來查詢下當(dāng)前時區(qū), 輸入以下命令:

SHOW VARIABLES LIKE '%time_zone%';

會返回類似這樣的數(shù)據(jù):

mysql> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone  | +00:00 |
+------------------+--------+
2 rows in set (0.12 sec)

如果返回的時間和你的相差多個小時, 并且時區(qū)不對(非+08:00)的話, 那么證明你需要向下看了.

方法一: 臨時修改

當(dāng)我們的需求非常急的時候, 我們可以做此臨時修改. 運(yùn)行命令:

SET GLOBAL time_zone = '+8:00';

再次運(yùn)行以下命令, 校驗(yàn)返回結(jié)果是否為當(dāng)前時間:

SELECT NOW();

返回當(dāng)前時間則證明修改成功.

之所以本方法稱為”臨時修改”, 是因?yàn)橹貑ySQL后該修改會失效.

方法二: 啟動時加參數(shù)

此方法適用于條件允許我們重新創(chuàng)建一個MySQL容器,

創(chuàng)建容器時, 我們需要加上指定時區(qū)的命令(東八區(qū)是上海, 你可以按需修改為自己的時區(qū)):

-e TZ=Asia/Shanghai

所以, 我們的docker完整運(yùn)行命令應(yīng)該為(僅供參考, 你的運(yùn)行命令可能略有差異):

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -e TZ=Asia/Shanghai -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0

要查看各個參數(shù)的用途, 請查看我的這篇文章: 《Docker 安裝 MySQL》.

方法三: 修改容器內(nèi)配置

輸入以下命令進(jìn)入mysql容器:

docker exec -it 容器ID bash

修改MySQL配置文件(兩種情況):

vim /etc/mysql/mysql.conf.d

或者

vim /etc/mysql/my.cnf

如果以上命令返回bash: vim: command not found, 請先閱讀Docker容器沒有vim命令的解決方案

進(jìn)入配置文件后, 點(diǎn)擊i進(jìn)入編輯模式, 添加一行配置文件:

default-time-zone = '+08:00'

如圖:

添加配置文件

完成后, 點(diǎn)擊ESC, 輸入:wq進(jìn)行保存并退出.

再輸入exit退出docker容器.

接下來我們要重啟mysql容器, 輸入命令:

docker restart 容器ID

至此, 已經(jīng)成功修改了時區(qū)配置.

重啟后, 輸入以下命令驗(yàn)證是否成功:

SELECT NOW();

如果返回時間和當(dāng)前時間一致, 則證明修改成功.

結(jié)語

如果特別急, 推薦方法一. 不急則推薦方法二. 各位同學(xué)按需選擇使用.

到此這篇關(guān)于Docker的MySQL容器時區(qū)問題修改的文章就介紹到這了,更多相關(guān)Docker MySQL容器時區(qū)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:日照 棗莊 鹽城 克拉瑪依 東莞 96 渭南 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker的MySQL容器時區(qū)問題修改》,本文關(guān)鍵詞  Docker,的,MySQL,容器,時區(qū),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker的MySQL容器時區(qū)問題修改》相關(guān)的同類信息!
  • 本頁收集關(guān)于Docker的MySQL容器時區(qū)問題修改的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 皮山县| 满城县| 昭苏县| 和田市| 眉山市| 林甸县| 塔城市| 苏州市| 饶平县| 孙吴县| 安福县| 盐山县| 绥芬河市| 太原市| 兰西县| 凤城市| 长岭县| 长兴县| 屏边| 黔东| 绥芬河市| 陵水| 长泰县| 荆门市| 吉安县| 富锦市| 右玉县| 东乌| 申扎县| 宜宾县| 宿迁市| 绵竹市| 固镇县| 彩票| 隆子县| 东港市| 宜兰市| 沧州市| 乡城县| 南汇区| 浦东新区|