3 回答

TA貢獻(xiàn)1804條經(jīng)驗 獲得超2個贊
如Umar所述,最簡單的方法是
mysql> SET GLOBAL time_zone = 'America/New_York';
對于具有夏令時調(diào)整的時區(qū),使用命名的時區(qū)很重要。但是,對于某些Linux構(gòu)建,您可能會得到以下響應(yīng):
#1298-時區(qū)未知或不正確
如果您看到此消息,則可能需要運(yùn)行tzinfo_to_sql轉(zhuǎn)換……這很容易做到,但并不明顯。在linux命令行中輸入:
mysql_tzinfo_to_sql /usr/share/zoneinfo/|mysql -u root mysql -p
提供您的root密碼(MySQL root,而不是Linux root),它將把zoneinfo中的所有定義加載到mysql中。然后,您可以返回并運(yùn)行
mysql> SET GLOBAL time_zone = timezone;

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊
盡管Bryon的答案很有幫助,但我只是添加了他的鏈接用于PHP時區(qū)名稱,該名稱與MySQL時區(qū)名稱不同。
如果要將單個會話的時區(qū)設(shè)置為GMT + 1(準(zhǔn)確地說是UTC + 1),只需在該命令中使用字符串“ +01:00”。即:
SET time_zone = '+01:00';
要查看您的MySQL會話使用的時區(qū),只需執(zhí)行以下命令:
SELECT @@global.time_zone, @@session.time_zone;
這是一個具有更多詳細(xì)信息的出色參考:MySQL 5.5時區(qū)參考
添加回答
舉報