服务器异常重启后导致wordpress mysql数据库崩溃,正常状态下数据库无法修复问题解决方案

我们经常会遇到,linux服务器异常重启,比如断电,比如内存资源耗尽,这种情况下一般像MyISAM的类型的mysql数据库重启后基本不会影响,而像wordpress,InnoDB类型的mysql往往会直接崩溃,连mysql都启动不了。

一:首先我们要重启启动mysql服务器,这种情况下往往无法启动了,所以最简单最粗暴的方式,删除 mysql date目录下面除了文件夹以外的所有文件,文件夹是数据库,千万别删除。

二:启动以后我们一般可以用phpmyadmin登入一下看看wordpress的数据库出现了什么情况,一般情况是左侧菜单中所有的数据表名称还在,但是右侧管理这边提示:数据库中没有表,同时我们进服务器看一下其实date/xxx 所有的表其实都还在,而且看表文件wp_xxxxx.ibd大小的话,数据因该也没有丢失,这里(安装了面板的话最方便,比如宝塔就进文件管理,直接看)这里我强烈建议把这份崩溃的数据备份一份。

三:好了,备份完以后我们胆子就大了,接下来开始来恢复我们的wordpress InnoDB数据库

1:重新安装一个全新的wordpress,这里不是重新上传Wordpress文件,而是用原来的网站文件重装一次,具体步骤:

  • 用phpmyadmin建立一个全新的数据比如 luckydognew
  • 修改原wordpress根目录下的wp-config.php里面数据名称 luckydog改成 luckydognew
  • 打开网站首页https://www.luckydog.cc/ 进入自动安装程序

2:进入phpmyadmin管理界面,在luckydognew数据库执行sql,以下命令一次执行一行,他们叫做:丢弃新建数据库wp_xxx.ibd表空间(丢弃当前表的表空间)

ALTER TABLE wp_commentmeta DISCARD TABLESPACE
ALTER TABLE wp_comments DISCARD TABLESPACE
ALTER TABLE wp_links DISCARD TABLESPACE
ALTER TABLE wp_options DISCARD TABLESPACE
ALTER TABLE wp_postmeta DISCARD TABLESPACE
ALTER TABLE wp_posts DISCARD TABLESPACE
ALTER TABLE wp_term_relationships DISCARD TABLESPACE
ALTER TABLE wp_term_taxonomy DISCARD TABLESPACE
ALTER TABLE wp_terms DISCARD TABLESPACE
ALTER TABLE wp_termmeta DISCARD TABLESPACE
ALTER TABLE wp_usermeta DISCARD TABLESPACE
ALTER TABLE wp_users DISCARD TABLESPACE

3:复制旧数据luckydog里面的wp_xxxx.idb表文件(大概12个表,其他插件的表不要移过去)到luckydognew,所以这里要仔细点,看清楚了,我们这里可以用到cp命令或者mv命令,当然懒人用面板复制粘帖文件就可以了

4:导入新的表空间命令,依旧一次执行一行,执行12次(我也想一次执行,但我不会写命令)

ALTER TABLE wp_commentmeta IMPORT TABLESPACE
ALTER TABLE wp_comments IMPORT TABLESPACE
ALTER TABLE wp_links IMPORT TABLESPACE
ALTER TABLE wp_options IMPORT TABLESPACE
ALTER TABLE wp_postmeta IMPORT TABLESPACE
ALTER TABLE wp_posts IMPORT TABLESPACE
ALTER TABLE wp_term_relationships IMPORT TABLESPACE
ALTER TABLE wp_term_taxonomy IMPORT TABLESPACE
ALTER TABLE wp_terms IMPORT TABLESPACE
ALTER TABLE wp_termmeta IMPORT TABLESPACE
ALTER TABLE wp_usermeta IMPORT TABLESPACE
ALTER TABLE wp_users IMPORT TABLESPACE

5:至此wordpress的主要数据都已经恢复,打开网站是不是都回来了!

当然很多朋友可能会用很多插件,插件也有很多数据,这里的修复办法其实一样,安装原始数据插件,丢弃插件表空间数据,复制旧表,导入旧表。


已发布

分类

来自

标签:

评论

发表回复

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