数据库表丢失索引?如何恢复?

时间:2016-11-01 作者:Michael Ecklund

我对多站点配置有一个非常有趣的问题。

我网络中的两个站点丢失了与这些站点相关的所有数据库表中的索引。

我无法更新这些网站,因为它们完全失去了索引。我怎样才能从中恢复过来?有没有办法恢复/重建数据库中每个表的索引?

这在过去发生在另一个站点上。我很幸运,能够对这些表进行修复/优化,它似乎可以自我纠正。然而,我在这些特定站点上尝试了相同的过程,问题仍然存在。

对我在这里应该做什么有什么建议吗?

Database configuration:

    MariaDB:10.0.28发动机:MyISAM字符集:utf8排序规则:utf8\\U general\\U ciNote: 网络中的每个站点以前都是独立安装的。我把它们都迁移到了Multsite。它们在迁移前和迁移后都表现良好。自迁移以来,WordPress已经更新了大约3-4次。几个插件也更新了。

1 个回复
SO网友:Rick Hellewell

通常,您可以在myPHPAdmin中通过一些工作修复数据库。请参阅本文(以及通过谷歌搜索到的其他文章)https://www.a2hosting.com/kb/cpanel/cpanel-database-features/optimizing-and-repairing-mysql-databases-with-phpmyadmin

还有这个帖子https://www.maketecheasier.com/fix-corrupted-wordpress-database-2/ 也就是说,您可以让WP通过在WP配置中添加一行代码来修复数据库。php文件:

定义(WP\\u ALLOW\\u REPAIR,“true”);

。。。将其放置在上述链接中指定的位置。请注意,您可能希望在没有其他访问站点的权限时执行此操作。尽管根据法典https://codex.wordpress.org/Editing_wp-config.php , 向下滚动至“WP\\u ALLOW\\u REPAIR”(WP\\u允许维修)条目),这将:

请注意:此定义启用功能,设置此定义后,用户无需登录即可访问此功能。这是因为它的主要目的是修复损坏的数据库,当数据库损坏时,用户通常无法登录。

在开始之前,备份数据库总是一个好主意。