【发布时间】:2017-03-17 02:26:42
【问题描述】:
我刚刚从我们的旧服务器导出了一个 MySQL 数据库,使用:
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
然后我使用 phpMyAdmin 将数据库文件 db_backup.sql 导入我们的新服务器:
PhpMyAdmin->Import->File to Import
新数据库表中的日期不同。为什么它们发生了变化,我该如何阻止这种情况?
【问题讨论】:
-
服务器位于不同的时区,似乎相隔 6 小时。
-
SET TIME_ZONE = '+00:00';
-
@vanloc 你的意思是在我的新服务器 phpMyAdmin 中这样做吗?
-
导出数据库时你的
time_zone?我认为您应该在导入数据而不是导出时将时区设置为 UTC。从“--tz-utc”选项的文档中:“mysqldump 将其连接时区设置为 UTC,并将 SET TIME_ZONE='+00:00' 添加到转储文件中。”所以,转储是 UTC 格式的。但由于您使用选项卡转储,“SET TIME_ZONE='+00:00”指令不会执行,因此您必须手动设置连接上的时区。命令:set time_zone=@old_time_zone。您的服务器有time_zone与您所在的位置不同。
标签: mysql phpmyadmin