2015-11-06 108 views
2

我已經在我的linux服務器中安裝了mysql。我的服務器時區是UTC,但是EDT中的MySQL時區。現在我想將MySQL時區更改爲UTC。如何從EDT時間將mysql時區更改爲UTC

當我在Linux命令運行日期

,它示出了週五11月6日9時25分01秒UTC 2015

當我運行現在選擇()在MySQL,它示出了2015年11月6日4時25分26秒。

那麼如何在MySQL中將EDT更改爲UTC。

注意:我使用mysql工作臺。

+0

http://stackoverflow.com/questions/19023978/should-mysql-have-its-timezone-set-to-utc檢查此解決方案 –

回答

0

你可以嘗試這樣的:

SELECT CONVERT_TZ(NOW(), @@session.time_zone, '+00:00') 

SQL DEMOUTC CURRENT TIME

請參考CONVERT_TZ function

CONVERT_TZ()將來自通過 FROM_TZ給予由轉到to_tz給出的時區的時區中的日期時間值dt和返回得到 值。

1

設置你的MySQL時區: -

SET GLOBAL time_zone = '+8:00'; 
SET GLOBAL time_zone = 'Europe/Helsinki'; 
SET @@global.time_zone='+00:00'; 

對於檢查時區:​​ -

SELECT @@session.time_zone; 

MySQL配置文件的位置: -

/etc/mysql/my.cnf 
+0

如果我檢查SELECT @@ session.time_zone;它說「系統」。 – MMMMS

+0

設置你的時區使用這個: - –

+0

如果我設置全球time_zone ='+8:00'; SET GLOBAL time_zone ='Europe/Helsinki'; SET @@ global.time_zone ='+ 00:00';那麼這顯示我的MYSQL TIMEZONE utc? – MMMMS

0

如果所有你關心是目前的時間,你不必做任何轉換或擔心t ime區域。只需使用適當的功能即可。

  • NOW()返回當前的本地時間。
  • UTC_TIMESTAMP()返回當前UTC時間。

請參閱Date and Time Functions在MySQL文檔中。

+0

我在我的應用程序中的許多地方使用select now(),所以我應該將mysql時區更改爲UTC。 – MMMMS

+0

這是另一種方式來做到這一點,當然。但我會非常小心地檢查你正在做的所有地方。它不是那麼重要的功能,但如果你一直在寫本地時間數據到你的表,現在你開始寫UTC數據,那麼不匹配將是一個大問題。想想如何先轉換現有的數據。 –