使用mysqldump 匯出 含有timestamp型別的表,應注意--skip-tz-utc

yantaicuiwei發表於2013-03-19

Mysql,原和目標機器均為東八區時區

準備將符合下麵條件的資料從一個伺服器導到另一個伺服器中:

create_time

其中 create_time 為timestamp ,使用下面的語句匯出

mysqldump -uroot -h127.0.0.1 -P3307 -p dbname tablename --where="create_time tabname.sql

有一個問題:

timestamp為時區型別,我們們預設的是東八區,預設引數--tz-utc是開啟的,即SET TIME_ZONE='+00:00',這樣匯出的時間是比表中看到時間是晚8小時的,

比如:表中看到的是 2012-07-01 00:42:58,匯出後2012-06-30 16:42:58,而這條記錄是不符合我們本意的create_time

所以增加引數--skip-tz-utc 就不會發生時區的轉換,即取消SET TIME_ZONE='+00:00',這樣就沒有問題了

這裡有個關鍵點是:

mysqldump命令中create_time

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21601207/viewspace-756556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章