一、ibd2sql
示例:ibd2sql是基于python3编写的离线解析MYSQL innodb存储引擎的ibd文件的工具,并且可以转换为SQL语句–DDL
二、检查参数
1.ibd文件是否存在
代码如下(示例):
mysql>show varibales like 'innodb_file_per_table'
### 默认是on也就是开启状态,
2.ibd文件位置
代码如下(示例):
mysql>show variables like 'datadir'
### 一般都存放在/etc/lib/mysql
bash>grep 'datadir' /etc/my.cnf
3.查看ibd文件
bash>find /var/lib/mysql -name '*.ibd'
三.python3 main.py
1.运行并查看
###python3.main 在ibd2sql安装位置下
bash>python3 main.py /var/lib/mysql/testdemotb/users --ddl --sql
### /var/lib/mysql是ibd文件位置
### /testdemotb/users 是库下的users表
### --ddl --sql 查看语句
2.删除并恢复
### 删除 通过库名.表名可以直接删除 不需要再进入数据库
mysql>delete from testdemotb.users where user_id = 1;
mysql>select * from testdemotb.users where user_id = 1;
### --sql --delete 可以直接显示刚删除的sql语句
bash>python3 main.py /var/lib/mysql/testdemotb/users.ibd --sql --delete
### 复制并插入再次查看
mysql>select * from testdemotb.users where user_id = 1;