欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決MySQL時(shí)區(qū)日期時(shí)差8個(gè)小時(shí)的問(wèn)題

 更新時(shí)間:2023年01月04日 11:06:44   作者:拄杖忙學(xué)輕聲碼  
本文主要介紹了解決MySQL時(shí)區(qū)日期時(shí)差8個(gè)小時(shí)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

場(chǎng)景:

我們?cè)趍ysql客戶端查詢 now() 系統(tǒng)當(dāng)前日期時(shí)間,會(huì)發(fā)現(xiàn)得到的結(jié)果比系統(tǒng)實(shí)際日期時(shí)間慢8個(gè)小時(shí)左右,這是由于不同的時(shí)區(qū)導(dǎo)致的

解決:

1、在 mysql 的服務(wù)端的 my.conf 文件中 [mysqld] 節(jié)點(diǎn)下設(shè)置時(shí)區(qū)參數(shù)

default-time-zone=Asia/Shanghai

2、如果 mysql 的版本是 5.7 配置如下參數(shù)

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

3、如果 mysql 服務(wù)是由 docker 創(chuàng)建的容器,需要查看 mysql 容器的系統(tǒng)日期是否正確,如果不正確,需要調(diào)整 mysql 容器內(nèi)的系統(tǒng)日期時(shí)間

方式一:

//1、把當(dāng)前宿主機(jī)的時(shí)區(qū)信息復(fù)制到mysql容器的時(shí)區(qū)中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器名稱或Id:etc/localtime
 
//2、重啟mysql服務(wù)即可
docker restart 容器名稱或Id

方式二:

共享主機(jī)的 localtime,創(chuàng)建容器的時(shí)候指定啟動(dòng)參數(shù),掛載 localtime 文件到容器內(nèi)

docker run --name 容器名稱 -v /etc/localtime:/etc/localtime

如此,時(shí)區(qū)不一致的問(wèn)題就解決了

mysql查出時(shí)間相差14小時(shí)

問(wèn)題重現(xiàn)

服務(wù)器使用mysql 5.7數(shù)據(jù)庫(kù),線上運(yùn)行程序時(shí),保存時(shí)間相差14小時(shí)

問(wèn)題排查

首先以為是線上linux系統(tǒng)數(shù)據(jù)庫(kù)時(shí)區(qū)問(wèn)題,特地查看了線上linux數(shù)據(jù)庫(kù)時(shí)區(qū)

Last login: Wed Nov 27 14:39:13 2019 from 192.168.2.147
[root@localhost ~]# date -R
Thu, 28 Nov 2019 08:44:39 +0800
[root@localhost ~]# hwclock
2019年11月28日 星期四 08時(shí)44分52秒  -0.938419 秒
[root@localhost ~]# 

檢查時(shí)區(qū)后發(fā)現(xiàn)時(shí)區(qū)設(shè)置是正確的,懷疑是線上數(shù)據(jù)庫(kù)時(shí)區(qū)設(shè)置問(wèn)題,檢查線上數(shù)據(jù)庫(kù)時(shí)區(qū)設(shè)置

mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.03 sec)

發(fā)現(xiàn)線上數(shù)據(jù)庫(kù)時(shí)區(qū)設(shè)置也是一致,于是在本地重新運(yùn)行程序,添加斷點(diǎn),監(jiān)聽(tīng)時(shí)間傳參變化,斷點(diǎn)逐步進(jìn)行,在保存至數(shù)據(jù)庫(kù)前,斷點(diǎn)中檢查的時(shí)間都是正確的,可以確定是數(shù)據(jù)庫(kù)時(shí)間保存時(shí)出現(xiàn)的問(wèn)題。

在這個(gè)地方我自己遇到的問(wèn)題更尷尬,排查問(wèn)題時(shí)是在同事電腦上進(jìn)行排查,檢查了pom文件中依賴的mysql-connector-java 版本號(hào)是 5.1.46 ,運(yùn)行時(shí)無(wú)報(bào)錯(cuò)信息,但實(shí)際打包項(xiàng)目時(shí)使用的是我電腦進(jìn)行打包,但我電腦中pom文件里mysql-connector-java 版本號(hào)寫的是runtime,也就是跟著springboot版本選擇,我使用的springboot版本號(hào)是2.1.5,所以對(duì)應(yīng)的mysql版本jar包文件是8.0的jar包,就是這個(gè)問(wèn)題導(dǎo)致是時(shí)間相差了14小時(shí),更改mysql版本號(hào),重新運(yùn)行,問(wèn)題解決。

自己在排查問(wèn)題過(guò)程中也發(fā)現(xiàn)了類似相關(guān)的數(shù)據(jù)庫(kù)時(shí)間保存相差N小時(shí)問(wèn)題主要出于幾種情況:

  • 數(shù)據(jù)庫(kù)版本不一致 
  • marven依賴jar包版本與數(shù)據(jù)庫(kù)版本不一致
  • mysql時(shí)區(qū)設(shè)置錯(cuò)誤
  • 系統(tǒng)時(shí)區(qū)錯(cuò)誤

 到此這篇關(guān)于解決MySQL時(shí)區(qū)日期時(shí)差8個(gè)小時(shí)的問(wèn)題的文章就介紹到這了,更多相關(guān)MySQL差8個(gè)小時(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深度解析MySQL啟動(dòng)時(shí)報(bào)“The server quit without updating PID file”錯(cuò)誤的原因

    深度解析MySQL啟動(dòng)時(shí)報(bào)“The server quit without up

    這篇文章主要介紹了MySQL啟動(dòng)時(shí)報(bào)“The server quit without updating PID file”錯(cuò)誤的原因,需要的朋友可以參考下
    2017-05-05
  • Mysql賬戶管理原理與實(shí)現(xiàn)方法詳解

    Mysql賬戶管理原理與實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Mysql賬戶管理原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了mysql賬戶管理的原理、操作技巧、相關(guān)問(wèn)題解決方法與注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    本文詳細(xì)介紹了MySQL中的RIGHT?JOIN和CROSS?JOIN操作,RIGHT?JOIN返回右表中的所有記錄及與左表中的記錄相匹配的記錄,而CROSS?JOIN返回兩個(gè)表中所有可能的組合,通過(guò)實(shí)際示例和輸出結(jié)果,我們展示了如何使用RIGHT?JOIN和CROSS?JOIN進(jìn)行數(shù)據(jù)庫(kù)查詢,一起看看吧
    2023-07-07
  • MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)方法代碼

    MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)方法代碼

    SQL遞歸查詢語(yǔ)句是指通過(guò)遞歸方式對(duì)數(shù)據(jù)進(jìn)行查詢的語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • mysql8報(bào)錯(cuò):ERROR?1410?(42000):?You?are?not?allowed?to?create?a?user?with?GRANT解決辦法

    mysql8報(bào)錯(cuò):ERROR?1410?(42000):?You?are?not?allowed?to?

    電腦新裝的mysql,版本為8.0以上,分配權(quán)限時(shí)直接帶密碼和賬號(hào)會(huì)報(bào)錯(cuò),這篇文章主要給大家介紹了關(guān)于mysql8報(bào)錯(cuò):ERROR?1410?(42000):?You?are?not?allowed?to?create?a?user?with?GRANT的解決辦法,需要的朋友可以參考下
    2022-06-06
  • MySQL通過(guò)存儲(chǔ)過(guò)程來(lái)添加和刪除分區(qū)的過(guò)程(List分區(qū))

    MySQL通過(guò)存儲(chǔ)過(guò)程來(lái)添加和刪除分區(qū)的過(guò)程(List分區(qū))

    這篇文章主要介紹了MySQL-通過(guò)存儲(chǔ)過(guò)程來(lái)添加和刪除分區(qū)(List分區(qū)),本文通過(guò)創(chuàng)建存儲(chǔ)過(guò)程來(lái)添加和刪除分區(qū),可以避免在分區(qū)存在時(shí)添加分區(qū)報(bào)錯(cuò),或者分區(qū)不存在時(shí)刪除分區(qū)報(bào)錯(cuò)的問(wèn)題,需要的朋友可以參考下
    2023-09-09
  • MySQL中分頁(yè)優(yōu)化的實(shí)例詳解

    MySQL中分頁(yè)優(yōu)化的實(shí)例詳解

    這篇文章主要介紹了MySQL中分頁(yè)優(yōu)化的實(shí)例詳解,分頁(yè)優(yōu)化是MySQL優(yōu)化當(dāng)中的重點(diǎn),需要的朋友可以參考下
    2015-05-05
  • windows下mysql?8.0.27?安裝配置方法圖文教程

    windows下mysql?8.0.27?安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了windows下mysql?8.0.27?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解

    mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解

    這篇文章通過(guò)實(shí)例給大家介紹了mySQL中count多個(gè)表的數(shù)據(jù),也就是多個(gè)表如何聯(lián)合查詢,文中通過(guò)項(xiàng)目中遇到的一個(gè)問(wèn)題進(jìn)行分析和實(shí)現(xiàn),給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起看看吧。
    2016-11-11
  • MySQL利用索引優(yōu)化ORDER BY排序語(yǔ)句的方法

    MySQL利用索引優(yōu)化ORDER BY排序語(yǔ)句的方法

    這篇文章主要介紹了MySQL利用索引優(yōu)化ORDER BY排序語(yǔ)句的方法,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論