MySQL8.0只有.ibd文件恢复网站数据库的方法

MySQL崩了,只剩下.ibd文件,没有.frm表结构文件,想要恢复数据库有一定的难度了。

首先要创建相同的数据库,然后创建相同的表,如果是用CMS,则可以建个新网站,用CMS安装,数据库名和密码要和之前的相同。

2.phpMyadmin到需要导入的数据库:

执行SQL语句:(t_news是表名字,哪个表就用哪个)

truncate table t_news;

接着执行:

alter table t_news discard tablespace;

完成后将t_news.ibd复制到mysql存放数据(该数据库)的位置(宝塔路径是/www/server/data/数据库名)

3.完成后执行SQL语句导入表空间:

 alter table t_news import tablespace;

(注意:需要修改文章读写权限,文件越大执行时间越长)

查看是否有数据:在phpMyadmin点开表,或执行SQL语句 select count(*) from t_news;

这样一个表就恢复了表结构和内容,可以多个表同时进行,执行SQL语句时一行一个,用;隔开,从而恢复完整的数据库。

多表同时以WordPress为例,最后一个SQL语句可以这样写:

alter table wp_users import tablespace;
alter table wp_usermeta import tablespace;
alter table wp_term_taxonomy import tablespace;
alter table wp_term_relationships import tablespace;
alter table wp_terms import tablespace;
alter table wp_termmeta import tablespace;
alter table wp_posts import tablespace;
alter table wp_postmeta import tablespace;
alter table wp_options import tablespace;
alter table wp_links import tablespace;
alter table wp_comments import tablespace;
alter table wp_commentmeta import tablespace;

你可能感兴趣的