Discuz! Database Error(1062) Duplicate entry ‘0’ for key ‘invisible’

今天早上打开论坛发现无法发帖,发帖后提示?Discuz! Database Error(1062) Duplicate entry ‘0’ for key ‘invisible’.

后来发现,原来是数据库表崩坏造成的。

我们进入shell,然后进入到mysql的命令行模式(如果是网页版的phpmyadmin,可能会因为网页超时而出现错误):

# mysql -uroot -p ? ? ? ? ? ? ?#这里注意必须要有权限进行表的修复。
mysql> use database;
mysql> repair table pre_forum_thread;
mysql> repair table pre_forum_threadaddviews;

+———————————+——–+———-+————————————————+
| Table | Op | Msg_type | Msg_text |
+———————————+——–+———-+————————————————+
| xjjbbs.pre_forum_threadaddviews | repair | warning | Number of rows changed from 1196698 to 1196658 |
| xjjbbs.pre_forum_threadaddviews | repair | status | OK |
+———————————+——–+———-+————————————————+
2 rows in set (0.92 sec)

mysql> repair table pre_forum_post;

+———————–+——–+———-+————————————————+
| Table | Op | Msg_type | Msg_text |
+———————–+——–+———-+————————————————+
| xjjbbs.pre_forum_post | repair | warning | Number of rows changed from 1991044 to 1991046 |
| xjjbbs.pre_forum_post | repair | status | OK |
+———————–+——–+———-+————————————————+
2 rows in set (1 min 14.96 sec)

依次对坏的表进行修复即可~

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注