macos mysql通过.ibd文件恢复数据

拿到备份的文件如下:
备份文件
这里frm文件由于数据表结构是已知的,所以没有用。
ibd文件为存储的数据文件

1:本地新建一个新的数据库 :
数据库
终端进入:
cd /usr/local/mysql/data/

如果报没有权限则运行:
sudo chmod -R a+rwx /usr/local/mysql/data/

进入到data/test下

在新建的数据库中运行建表语句:
需要在建表语句后加上: ROW_FORMAT=COMPACT

执行:
ALTER TABLE xxxx DISCARD TABLESPACE;
解除表空间,ls查看会发现.idb文件已经被删除

在终端执行 open .命令打开访达

把需要的.ibd复制到test目录下

在这里插入图片描述
ls -l目录查看会发现 复制进去的.ibd文件不属于mysql

需要执行命令:
sudo chown mysql:mysql xxx.ibd

ls -l 执行后看到.ibd文件属于mysql则成功
在这里插入图片描述
最后执行命令:
alter table xxx import tablespace;

恢复数据成功。

ps:如果操作不成功,需要停掉mysql服务,删除相关的日志和数据库,命令如下:
rm -rf /usr/local/mysql/data/ib_logfile0
rm -rf /usr/local/mysql/data/ib_logfile1
rm -rf /usr/local/mysql/data/ibdata1
rm -rf /usr/local/mysql/data/btmp1
rm -rf /usr/local/mysql/data/test(数据库名)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值