如何解决导出/导入后,MySQL时间卡住了
| 我的一名mysql用户以这种方式破坏了他的生产数据库: 他将所有数据导出到转储文件,然后删除所有内容,然后将数据导入回数据库。 他从Innodb大表空间中保存了一些Gigs(我不知道为什么他这样做,但这不是重点)。 现在我们有一个问题。 now()返回的时间始终是操作的时间(如果是导出时间或导入时间,则不知道)。 演示:mysql> \\! date
Wed May 25 22:49:24 CEST 2011
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-05-07 05:34:52 | <--- the date of the export/import,mysql is stuck at this date
+---------------------+
1 row in set (0.00 sec)
mysql> select sysdate();
+---------------------+
| sysdate() |
+---------------------+
| 2011-05-07 05:34:52 |
+---------------------+
1 row in set (0.01 sec)
mysql> show variables like \'timestamp\';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| timestamp | 1304739292 | <-- timestamp is stuck to this value
+---------------+------------+
mysql> set timestamp=1; <-- i can manually change the time returned by now()
Query OK,0 rows affected (0.00 sec)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 1970-01-01 01:00:01 |
+---------------------+
1 row in set (0.00 sec)
mysql> select sysdate();
+---------------------+
| sysdate() |
+---------------------+
| 2011-05-07 05:34:52 | <--- but sysdate() is still stuck
+---------------------+
1 row in set (0.00 sec)
知道如何在不重新启动mysqld或重新导入数据的情况下解决此问题吗?
解决方法
疯狂猜测在这里:
如果在mysql中设置了“ --sysdate-is-now \”选项,则SYSDATE()的行为类似于NOW(),因此您不会看到上述两个函数之间的任何区别。从http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_sysdate:
SYSDATE()返回执行时间。这与NOW()的行为不同,后者的行为返回一个恒定时间,该时间指示语句开始执行的时间。
最终您的导入过程由于某种原因未能完成?使用\“ SHOW PROCESSLIST \”检查进程列表,然后执行\“ KILL(Process_Id)\”,看看是否有助于使时间功能回到正轨。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。