最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql數(shù)據(jù)庫時(shí)間與系統(tǒng)時(shí)間不一致問題排查及解決

 更新時(shí)間:2023年06月07日 09:48:05   作者:測(cè)試界的飄柔  
最近忽然發(fā)現(xiàn)個(gè)問題,Mysql數(shù)據(jù)庫時(shí)間與系統(tǒng)時(shí)間不一致,通過查找相關(guān)資料終于解決了,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫時(shí)間與系統(tǒng)時(shí)間不一致問題排查及解決的相關(guān)資料,需要的朋友可以參考下

NO.1 產(chǎn)生問題

在我們學(xué)習(xí)中使用到sysdate這個(gè)函數(shù)時(shí),發(fā)現(xiàn)查出來的日期時(shí)間與當(dāng)前的正確時(shí)間不一致,相差8個(gè)小時(shí)左右,為什么會(huì)產(chǎn)生這個(gè)問題?又該如何解決?

– 在數(shù)據(jù)庫中使用sysdate()函數(shù)查詢系統(tǒng)時(shí)間

select sysdate();

結(jié)果顯示:

圖片

NO.2 原因分析

原因分析1:第一時(shí)間想到的是數(shù)據(jù)庫所在的云服務(wù)器時(shí)間可能與網(wǎng)絡(luò)時(shí)間不同步,因?yàn)閿?shù)據(jù)庫是裝在云服務(wù)器上的,但是這種可能性應(yīng)該較小,因?yàn)橘徺I的阿里云服務(wù)器應(yīng)該不會(huì)存在這種問題,一般會(huì)自動(dòng)校對(duì)時(shí)間。于是先確定云服務(wù)器的時(shí)間,輸入date命令查看云服務(wù)器系統(tǒng)時(shí)間,結(jié)果云服務(wù)器顯示的時(shí)間是正確的,如下圖:

原因分析2:排除第一種可能后,又想到Mysql是部署在云服務(wù)器的docker容器上的,會(huì)不會(huì)是docker容器時(shí)間不對(duì)呢?因此進(jìn)入容器,查看容器的系統(tǒng)時(shí)間。

# 進(jìn)入容器   d71f18f09a4e:容器id,以自己的容器id為準(zhǔn)
docker exec -it d71f18f09a4e /bin/bash
# 查看系統(tǒng)時(shí)間
date

圖片

果然,容器的時(shí)間不對(duì),跟正確的時(shí)間相差了8個(gè)小時(shí),跟數(shù)據(jù)庫查詢的結(jié)果是一樣的問題。所以SQL查出來的時(shí)間是跟隨容器的系統(tǒng)時(shí)間一致的,因此存在同樣的問題。所以我們只要把容器時(shí)間修改正確了,那我們通過SQL查詢出來的時(shí)間不對(duì)的問題也就解決了。

NO.3 解決方法

1.通過sql語句,查看系統(tǒng)時(shí)區(qū),修改時(shí)區(qū)來校對(duì)時(shí)間

– 第一步:查看系統(tǒng)時(shí)區(qū)

show variables like ‘%time_zone%';

– 第二步:修改時(shí)區(qū),并生效

– 修改系統(tǒng)時(shí)區(qū)

set global time_zone = ‘+08:00';

– 修改當(dāng)前會(huì)話時(shí)區(qū)

set time_zone = ‘+8:00';

– 立馬生效

flush privileges;

– 修改后再次查看

show variables like ‘%time_zone%';

– 第三步:修改后再查看系統(tǒng)時(shí)間顯示

select sysdate();

第一步:系統(tǒng)時(shí)區(qū)查詢:

圖片

時(shí)區(qū)知識(shí)普及: 整個(gè)地球分為二十四時(shí)區(qū),每個(gè)時(shí)區(qū)都有自己的本地時(shí)間。在國際無線電通信場(chǎng)合,為了統(tǒng)一起見,使用一個(gè)統(tǒng)一的時(shí)間,稱為通用協(xié)調(diào)時(shí)(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(shí)(GMT, Greenwich Mean Time)一樣,都與英國倫敦的本地時(shí)相同。在本文中,UTC與GMT含義完全相同。北京時(shí)區(qū)是東八區(qū),領(lǐng)先UTC八個(gè)小時(shí),所以我們的時(shí)區(qū)為UTC+8。

第二步:修改時(shí)區(qū),并生效:

圖片

第三步:修改后再查看系統(tǒng)時(shí)間:

圖片

2.在云服務(wù)器上,把云服務(wù)器的正確時(shí)間文件拷貝到容器的中去,校對(duì)容器的時(shí)間

# 將服務(wù)器上時(shí)間文件拷貝到容器  d71f18f09a4e:容器id,以自己的容器id為準(zhǔn)
docker cp /usr/share/zoneinfo/Asia/Shanghai  d71f18f09a4e:/etc/localtime
# 重啟容器
docker restart d71f18f09a4e
# 查看容器是否運(yùn)行docker ps
# 進(jìn)入容器   d71f18f09a4e:容器id,以自己的容器id為準(zhǔn)
docker exec -it d71f18f09a4e /bin/bash
# 查看容器的時(shí)間
date

**第一步:**復(fù)制日志文件后,查看容器時(shí)間:

圖片

第二步:數(shù)據(jù)庫查詢時(shí)間:

圖片

注意:如果容器時(shí)間顯示正確,但是數(shù)據(jù)庫查詢結(jié)果還是不對(duì),則需要關(guān)閉客戶端(navicat),重新打開后再次查詢,基本就不會(huì)有問題了。

總結(jié)

到此這篇關(guān)于Mysql數(shù)據(jù)庫時(shí)間與系統(tǒng)時(shí)間不一致問題排查及解決的文章就介紹到這了,更多相關(guān)Mysql時(shí)間與系統(tǒng)時(shí)間不一致內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

怀来县| 雅安市| 东乌珠穆沁旗| 阜新市| 潢川县| 奉节县| 澳门| 隆回县| 富民县| 湘西| 榆树市| 宜兴市| 吴旗县| 涞源县| 融水| 县级市| 万全县| 贡觉县| 耒阳市| 泰州市| 通化市| 噶尔县| 郁南县| 碌曲县| 临湘市| 和平县| 界首市| 镇远县| 鄯善县| 吴川市| 闸北区| 伊宁市| 德保县| 安化县| 南陵县| 乌拉特前旗| 天长市| 托里县| 富裕县| 营山县| 哈巴河县|