我最近尝试使用备份文件恢复Wordpress网站。我相信Wordpress“导出所有内容”功能,实际上输出很少。
我保留了WAMP文件的备份,并阅读了几篇成功将备份的数据库文件复制到新位置的帖子,数据库工作正常:
Reinstalled WAMP, Wordpress Tables Not Found BUT Are in PHPMYADMIN
Restore the mysql database from .frm files
令人讨厌的是,这些对我不起作用。我尝试了两件事:
将数据库文件夹和备份的ibfiles复制到这些位置。一旦我这样做并打开PHP管理员,列出了WP表,但是我收到了它们不存在的错误消息。请参阅附带的屏幕截图
我创建了一个具有相同名称的新数据库,并进行了一个新的wordpress安装,创建了空表。然后,我将包含.frm文件的备份文件夹复制到新创建的文件夹中,并替换了ib文件。这次问题是WAMP无法启动,我被拒绝访问PHPMyAdmin。错误消息2002被主动拒绝。
我注意到了一件事。在备份文件中,自2014年8月13日以来,ibdata1文件尚未备份。而ib_logfile1和iblogfile()分别是2015年3月29日和2015年4月19日。我的备份程序(WD Smartware)是否有可能在备份我的文件方面做得不够充分?如果是这样我是在浪费时间,我应该从头开始重建。
感谢您的帮助。
答案 0 :(得分:3)
您的ibdata1
文件包含您的数据库,表空间,索引,表格结构等所有metadata
...它应该始终与其他所有被触摸的日期一致,这似乎是04 / 19/2015为你。如果您的ibdata1
文件自2014年8月13日起尚未备份,则表示您的所有元数据都与您的表(.frm and .ibd
)文件无关。因此,虽然您可以看到数据库中的表,但您无法访问数据,因为tablespaces
完全未对齐。在这种情况下,你有一个臭名昭着的薛定谔的mysql表案例。简要解释一下,Mysql认为该表存在并且不存在于同一时间。我将向您推荐此stackoverflow以获取更多信息。
我不相信Innodb_force_recovery
会对你的情况起作用,但我想它可以毫不费力地试一试。 Percona有一个recovery tool for innodb来修复metadata
(表空间)已经不同步。你可以试一试。根据经验,它不容易使用,你只能在linux中启动它,没有必要去工作,并且在使用该工具方面网络上很少。
我的建议是废弃你所能做的并重新开始。
答案 1 :(得分:0)
问题可能与文件权限有关。
要验证,请检查数据库的文件夹权限,右键单击/ var / lib / mysql /中的文件夹位置,并确保该文件夹的权限设置为&#39读写和使用;根'