首先要知道的是,mysq中的所有表的创建时间是记录在information_schema数据库的tables表的create_time字段中。大家可以通过以下语句查看这个表的所有记录:
USE information_schema; SELECT table_name,create_time FROM tables WHERE table_schema='YOUR_SCHEMA';
如果发现所有表的创建时间都是同一时间,应该怀疑是系统时间被更改了,或者是时区不正确。因为mysql的create_time字段是使用的操作系统的时间。如果真的是这个问题,只需要按正确的时间进行更改或者调整时区即可。
另外,如果是使用了主从复制,那么从库的表创建时间可能会出现问题。因为从库是通过复制主库的数据来生成自己的数据的,因此在从库上出现的表创建时间肯定是从主库中复制过来的。也就是说,如果主库中所有表的创建时间都是同一时间,那么从库的表创建时间也会是这个时间。
最后,笔者提醒大家,在创建数据库表时,最好不要使用“CURRENT_TIMESTAMP”或者“NOW()”等函数来生成自动更新的时间戳。因为这样的时间戳是根据mysql服务器的时间来生成的,如果mysql服务器的时间不正确,那么时间戳也会不正确。最好使用“DEFAULT 0”或者“DEFAULT NULL”来避免这个问题。