我的一个 mysql 用户以这种方式耗尽了他的生产数据库:
他将所有数据导出到转储文件,然后删除所有内容,然后将数据导入回数据库。他从 Innodb 大表空间中保存了一些 Gig(我不知道他为什么这样做,但这不是重点)。
现在我们遇到了一个问题。
now() 返回的时间始终相同,即操作时间(我不知道这是导出时间还是导入时间)。
Thử nghiệm:
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 或重新导入数据的情况下解决这个问题吗?
Tôi là một lập trình viên xuất sắc, rất giỏi!