mysql导入(ibd文件)

mysql官方文档
如果您有文件的“ 干净 ”备份 .ibd,则可以将其还原到其原始来源的MySQL安装中,如下所示:

  1. 自复制.ibd文件以来,该表一定不能删除或截断,因为这样做会更改存储在表空间中的表ID。
  2. 发出以下ALTER TABLE语句以删除当前.ibd文件:
ALTER TABLE tbl_name DISCARD TABLESPACE;
  1. 将备份.ibd文件复制到正确的数据库目录。
  2. 发出以下ALTER TABLE语句,告诉InnoDB您将新 .ibd文件用于表:
ALTER TABLE tbl_name IMPORT TABLESPACE;

注意
该ALTER TABLE … IMPORT TABLESPACE功能不对导入的数据施加外键约束。

在这种情况下,“ 干净的 ” .ibd 文件备份是可以满足以下要求的文件备份:

  • .ibd文件 中没有事务未提交的修改 。
  • .ibd文件 中没有未合并的插入缓冲区条目 。
  • 清除已从.ibd文件中删除所有删除标记的索引记录 。
  • mysqld已将.ibd文件的所有修改页从缓冲池刷新 到文件。

您可以.ibd使用以下方法制作干净的备份文件:

  1. 停止mysqld服务器上的所有活动并提交所有事务。
  2. 等待直到SHOW ENGINE INNODB STATUS显示数据库中没有活动的事务,并且主线程状态 InnoDB为Waiting
    for server activity。然后,您可以复制该 .ibd文件。

实际步骤
1.创建数据表a
2. ALTER TABLE a DISCARD TABLESPACE;
3.将数据表文件a.ibd拷贝到数据库的目录下
4.ALTER TABLE a IMPORT TABLESPACE;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值