无法访问mysql数据

u1ehiz5o  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(441)

我一直在使用appserv,它包括mysql、php、apache24和phpmyadmin特性。
一天,我不小心从我的电脑上卸载了appserv服务,我不得不再次安装它。一切都很好,直到我看到我的数据库不能正常工作,因为它曾经是。
不知何故,我无法访问我的数据,所以是我在事故发生前的网站。当我去我的phpmyadmin,我可以清楚地看到我所做的结构,但不是他们的内容,这是问题所在。事实上,当我在目录里看到他们时,他们都站在那里。


提前谢谢。
注意:appserv卸载过程不会删除您自己的数据。

aor9mmx1

aor9mmx11#

从中恢复数据库 .frm 和内容来自 .ibd 您必须执行以下操作:
1) 创建临时数据库以避免突然使用其他数据库。

CREATE DATABASE soru_sor_recover;

2) 生成 CREATE TABLE 转储自 .frm 文件(您需要安装 mysql-utilities 从这里开始);

mysqlfrm –diagnostic answers.frm >> create_table.txt
mysqlfrm –diagnostic categories.frm >> create_table.txt
mysqlfrm –diagnostic inbox.frm >> create_table.txt
mysqlfrm –diagnostic questions.frm >> create_table.txt
mysqlfrm –diagnostic users.frm >> create_table.txt

3) 导入 create_table.txt 使用一些gui或仅通过终端:

mysql -u root -p soru_sor_recover < create_table.txx

4) 现在我们有table,但都是空的。所以我们必须替换 .ibd 带ibd恢复文件的空表文件。所以我们需要放弃表空间:

ALTER TABLE answers DISCARD TABLESPACE; 
ALTER TABLE categories DISCARD TABLESPACE; 
ALTER TABLE inbox DISCARD TABLESPACE; 
ALTER TABLE questions DISCARD TABLESPACE; 
ALTER TABLE users DISCARD TABLESPACE;

5) 替换 .ibd 数据文件夹中的文件,并为该文件定义用户和组:

cp *.ibd /var/lib/mysql/soru_sor_recover
chown -R mysql:mysql /var/lib/mysql/soru_sor_recover/*.ibd

6) 重新启动mysql:

/etc/init.d/mysql restart

7) 启用表空间,转到mysql控制台:

ALTER TABLE answers IMPORT TABLESPACE; 
ALTER TABLE categories IMPORT TABLESPACE; 
ALTER TABLE inbox IMPORT TABLESPACE; 
ALTER TABLE questions IMPORT TABLESPACE; 
ALTER TABLE users IMPORT TABLESPACE;

文件的原始来源在这里

相关问题