wordpress 突然跳到安装界面 修复 frm 表的问题(idbdata1 文件必须存在)
朋友一网站使用 wordpress 搭建的,我很少使用这种东西,突然出现这种情况还真的很难找,因为要去理解什么逻辑实现要重新安装表的结构,很苦恼啊,最终 google 找到一篇文章说是 wordpress 使用的表都是 innodb 引擎,表损坏导致的,于是我打算修复一下,可以使用 phpMyAdmin 打开数据库发现只有库没有表了,经过一番的折腾我找到了几篇帖子,具体过程就是先新建一个表,然后在新建的表里面建立所有 wordpress 需要的表,建立完所有需要的表之后,关闭 mysql
1 | service mysql stop |
修改 mysql 的配置文件
1 | innodb_force_recovery = 4 |
然后将旧库里面的表的结果 copy 一份到新库,之后修改两个库的名字,将两个库的名字对调。然后启动数据库
1 | service mysql start |
看看数据库的表里面的数据吧,全部都回来了。嘿嘿
再次关闭 mysql
1 | service mysql stop |
将
1 | innodb_force_recovery = 4 |
注释掉
重新启动 mysql
1 | service mysql start |
回复完毕。
之后想了想,是以为最近一次服务器空间满了,当时误以为是表坏了,又由于对数据库的不了解,本来只是删除 ib_logfile0 和 ib_logfile1 两个文件,结果删除后还是没有用,于是将 ibdata1 做了一个临时备份,还好没有删掉,今天按照上面的操作做了多次,最后是将 ibdata1 文件重新 copy 回来后,数据才回来的。因为新的 ibdata1 没有相关数据的点,找不到数据吧,所以如果没有或者 ibdata1 这个文件不是原来的是无法恢复数据的。
参考文章: