阅读:1996回复:0
服务器时间出错后的紧急处理方法
有时候我们会遇到服务器时间出现问题,导致论坛不能正常使用的问题如下图,下面说一下遇到这种事情的处理方法。
图片:16_200809041631581dhnl.gif 图片:16_200809041631581dhnl.gif 一、服务器时间比标准时间快 1、明确快了多长时间 UPDATE cdb_members SET lastpost=lastpost-时间段 WHERE lastpost>UNIX_TIMESTAMP();UPDATE cdb_searchindex SET dateline=dateline-时间段 WHERE dateline>UNIX_TIMESTAMP();这两条 SQL 分别解决服务器时间比标准时间快导致的用户不能发帖、不能搜索的问题,“时间段”为服务器比标准时间提前的时间段,比如服务器比标准时间快了一个小时,这里的时间段就是 3600。 UPDATE cdb_threads SET dateline=dateline-时间段 WHERE dateline>UNIX_TIMESTAMP();UPDATE cdb_threads SET lastpost=lastpost-时间段 WHERE lastpost>UNIX_TIMESTAMP();UPDATE cdb_posts SET dateline=dateline-时间段 WHERE dateline>UNIX_TIMESTAMP();这三条分别解决引起的主题发表时间、主题最后回复时间、帖子发表时间问题。 2、不明确快了多长时间 UPDATE cdb_members SET lastpost=unix_timestamp() WHERE lastpost>UNIX_TIMESTAMP();UPDATE cdb_searchindex SET dateline=unix_timestamp() WHERE dateline>UNIX_TIMESTAMP(); 这两条 SQL 分别解决服务器时间比标准时间快导致的用户不能发帖、不能搜索的问题。 二、服务器时间比标准时间慢 1、明确慢了多长时间 update cdb_threads set dateline=dateline+时间段 where tid>主题id;update cdb_threads set lastpost=lastpost +时间段 where tid>主题id;update cdb_posts set dateline=dateline +时间段 where pid>帖子id;这三条分别解决引起的主题发表时间、主题最后回复时间、帖子发表时间问题。SQL 中的主题 id 、帖子 id 可以通过对比 cdb_threads 中的 tid 和 dateline、cdb_posts 表中 pid 和 dateline 得到。 2、不明确慢了多长时间 这种情况不能统一的进行处理。 注意:以上的操作都是通过直接操作数据库完成的,请大家务必在执行前备份操作到的数据表。 |
|