溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

遇到mysql timezone帶來(lái)數(shù)據(jù)不一致問(wèn)題怎么處理

發(fā)布時(shí)間:2020-05-19 14:30:17 來(lái)源:網(wǎng)絡(luò) 閱讀:498 作者:三月 欄目:MySQL數(shù)據(jù)庫(kù)

文主要給大家介紹遇到mysql timezone帶來(lái)數(shù)據(jù)不一致問(wèn)題怎么處理,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下遇到mysql timezone帶來(lái)數(shù)據(jù)不一致問(wèn)題怎么處理吧。

mysql> select *,from_unixtime(create_time) from 表名 where source_id=xxx\G
*************************** 1. row ***************************
                        id: xxx
                       uid: xxx
                 source_id: xxx
               create_time: 1495324892
                      type: 0
                  source_status: 0
                 nick_name: 環(huán)境監(jiān)控組-xxx
                start_time: 1495324883
                    remark: 忽略視頻
          pre_check_status: 0
                    source: 3
from_unixtime(create_time): 2017-05-21 00:01:32
1 row in set (0.00 sec)

因?yàn)檫\(yùn)營(yíng)庫(kù)是2主2從,我對(duì)比了主從的數(shù)據(jù),發(fā)現(xiàn)確實(shí)不一樣,一個(gè)是早上8點(diǎn),另外一個(gè)是凌晨,使用了from_unixtime函數(shù),結(jié)果相差8個(gè)小時(shí),比較像是時(shí)區(qū)的問(wèn)題

mysql> select from_unixtime(1495324892);
+---------------------------+
| from_unixtime(1495324892) |
+---------------------------+
| 2017-05-21 08:01:32       |
+---------------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1495324892);
+---------------------------+
| from_unixtime(1495324892) |
+---------------------------+
| 2017-05-21 00:01:32       |
+---------------------------+
1 row in set (0.00 sec)

懷疑是linux機(jī)器的時(shí)區(qū)問(wèn)題,但查詢發(fā)現(xiàn)都是一樣的

Thu May 25 15:11:29 CST 2017

既然與linux時(shí)區(qū)無(wú)關(guān),那應(yīng)該跟MySQL的時(shí)間有關(guān)了,再次分別查詢主從的時(shí)間

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2017-05-25 15:12:28 |
+---------------------+
1 row in set (0.00 sec)
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2017-05-25 07:09:31 |
+---------------------+
1 row in set (0.00 sec)

果然是MySQL的時(shí)間問(wèn)題

mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | HKT    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)


mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

發(fā)現(xiàn)一個(gè)MySQL處于UTC時(shí)間,世界標(biāo)準(zhǔn)時(shí)間,而另外一個(gè)是香港時(shí)間,中國(guó)是東八區(qū),比世界標(biāo)準(zhǔn)時(shí)間多8個(gè)小時(shí),這就解釋了為什么8點(diǎn)打卡,卻顯示在凌晨上班。于是把有問(wèn)題的MySQL,重新修改時(shí)區(qū)

set global time_zone = '+8:00';
set time_zone = '+8:00';
flush privileges;

看完以上關(guān)于遇到mysql timezone帶來(lái)數(shù)據(jù)不一致問(wèn)題怎么處理,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI