我刚从旧服务器导出了一个MySQL数据库:
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
然后我使用phpMyAdmin将数据库文件db_backup.sql
导入到我们的新服务器中:
PhpMyAdmin->Import->File to Import
新数据库表格中的日期不同。为什么要更改这些日期?如何停止此操作?
答案 0 :(得分:1)
解决方案1:
将--skip-tz-utc
选项添加到导出脚本。
解决方案2:
我认为您应该在导入数据时将时区设置为UTC,而不是导出。
来自--tz-utc
选项的文档:
“mysqldump将其连接时区设置为UTC并添加SET TIME_ZONE ='+ 00:00'到转储文件。“因此,转储是UTC。 但是由于您使用了Tab转储,因此“SET TIME_ZONE ='+ 00:00”指令是 没有执行,所以你必须在连接上设置时区 手动
命令:set time_zone=@old_time_zone
答案 1 :(得分:0)
我不是100%肯定,但也许你在每台服务器上设置了不同的时间。我看到只有几天和几个小时都改变了,所以它看起来像18个小时。看看吧。
更改服务器上的全局time_zone变量:
SET GLOBAL time_zone = 'America/Los_Angeles';
事后更新数据,应用MySQL的CONVERT_TZ()函数:
UPDATE my_table
SET my_column = CONVERT_TZ(
my_column,
'America/Los_Angeles',
'Australia/Adelaide'
);