...
Sql

mysql 数据库恢复 frm,ibd文件恢复数据 数据库修复

由于不可抗力因素,我的服务器炸了

具体是mysql坏了不得不重新安装

安装完成后发现数据都没了

只剩下一堆物理文件

今天把自己修复数据的方法记录一下,方便以后查阅。


所需工具:

Recovery Toolbox for MySql

下载地址:RecoveryToolboxForMySql_jb51.rar


所需文件:

就是拷贝的 frm 还有 ibd 文件  如下:

这是我从 Linux 上下载的  本来在  mysql  var 目录下

微信截图_20210617161011.png


方法:

1.首先用Recovery Toolbox for MySql工具创建表结构

微信截图_20210617161953.png


在mysql执行sql语句

创建表

我这里数据库命名为 wxhost 挨个把表都给创建进去了

这样我们就可以把数据表结构给弄出来了

2.恢复数据

我是ubuntu系统 lnmp环境

先从admin表开始

输入命令 mysql 开始操作

此处有点小插曲

root@instance:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

打开 my.cnf 配置 在 mysqld下 添加 skip-grant-tables

vim /etc/my.cnf
skip-grant-tables

重启mysql服务

现在执行mysql就可以了

执行解除表空间绑定命令,对应的idb文件自动删除

mysql> use wxhost;
Database changed

mysql> alter table admin discard tablespace;
Query OK, 0 rows affected (0.04 sec)

执行该操作后,将删除 对应得ibd文件,我们此时将下载得ibd文件上传至var目录下。

修改文件所有者权限给mysql

chown mysql:mysql admin.ibd

绑定表空间

mysql> alter table admin import tablespace;
Query OK, 0 rows affected, 1 warning (1.82 sec)

完毕后,查看表数据,已经恢复

mysql> select count(*) from admin;
+----------+
| count(*) |
+----------+
| 97746 |
+----------+
1 row in set (0.04 sec)

mysql>


其他的表依此类推。


已经完美恢复了所有数据[坏笑]


转载请标明出处~


OpenVpn 实现客户端账号密码登录 ubuntu安装配置heirloom-mailx使用外部smtp发送外网email
biu biu biu
一款好用的VPIV Linux添加用户及用户权限管理 常用sql server sql语句 常用正则表达式语句 ASCII码对照表