如何使用MySQL8的.ibd文件恢复数据。
1.将需要恢复的.ibd文件使用mysql8自带的ibd2sdi工具
ibd2sdi --dump-file user.txt ./user.ibd
该命令会生成一份json数据。生成表结构
2.通过php获取user.txt文件中的json并生成创建表sql语句。
3.复制创建好的sql去创建一个空表
4.使用mysql -uroot -p 登录mysql
5.执行alter table user discard tablespace; 脱离表空间
6.执行exit;并停止mysql服务。
7.将需要恢复的.ibd文件拷贝至当前数据库的数据存储目录(注意文件权限,必须是可执行)
8.启动mysql服务
9.使用mysql -uroot -p 登录mysql 执行 use shop_db;
10.最后导入表空间
alter table user import tablespace;
select * from user;查看是否恢复.