导入MySQL数据库后更改日期

时间:2017-03-17 02:26:43

标签: mysql phpmyadmin

我刚从旧服务器导出了一个MySQL数据库:

mysqldump -u [uname] -p[pass] db_name > db_backup.sql

然后我使用phpMyAdmin将数据库文件db_backup.sql导入到我们的新服务器中:

PhpMyAdmin->Import->File to Import

新数据库表格中的日期不同。为什么要更改这些日期?如何停止此操作?

以下是旧数据库日期: enter image description here

以下是新的数据库日期,为什么它们会改变? enter image description here

2 个答案:

答案 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'
                   );