PHP World

首页 > Blog > WordPress › 如何恢复WordPress 4.4的数据库?

如何恢复WordPress 4.4的数据库?

WordPress 4.4的数据库采用了InnoDB引擎来保存数据, 与以前的不同了。 InnoDB方式的每个数据表只有2个文件,即.frm, .ibd; 同时多3个数据库共用文件:ib_logfile0,ib_logfile1,ibdata1. 以前我们是直接从另一个数据库的数据表直接复制到目标数据库就可以了。如在InnoDB方式下,再这么操作就会产生错误, 用show tables能查寻所有数据表,可再用desc查看表结构,或用select * from ...来查询表数据就不行了,提供出错。

<?php
    echo "well done";
?>



拿在www.cheapglasses.net/blog/ 新安装的wordpress 4.4为例来说,如何才能将另一个数据库在的数据库恢复到新数据库中呢? 如旧的数据库是正常使用的,可在phpmyadmin中导出数据, 再导入到新数据库中。 如旧数据库出问题了, 可所有的.frm, .ibd是正常的, 这么操作:

第一步,如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中;如没有,可重新架一个新的wordpress博客系统;

第二步, 进入phpmyadmin或在mysql命令行状态下, 发出这个ALTER TABLE语句:
ALTER TABLE tbl_name DISCARD TABLESPACE;
目的是删除刚生成的数据库中的.idb文件,以便于下一步将旧表中的.idb文件复制到新数据库中。


运行:
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_usermeta discard tablespace;
alter table wp_users discard tablespace;


第三步, 将旧表中的.idb文件复制到新数据库中,再发出这个ALTER TABLE语句:
ALTER TABLE tbl_name IMPORT TABLESPACE;
这语句目的是将刚复制过来的旧的.idb文件与新表中的数据空间想关联, 只有数据库关联后才可正常显示:

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_usermeta import tablespace;
alter table wp_users import tablespace;

上一篇:返回列表

下一篇:返回列表

相关文章