首页 > 数据库 > 恢复独立表空间的表

恢复独立表空间的表

2016年5月3日 826 views 发表评论 阅读评论

如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:

  1. 发出这个ALTER TABLE语句:

2. ALTER TABLE tbl_name DISCARD TABLESPACE;

警告:这个语句删除当前.ibd文件。

  1. 把备份的.ibd文件放回到恰当的数据库目录。
  2. 发出这个ALTER TABLE语句:

5. ALTER TABLE tbl_name IMPORT TABLESPACE;

在上下文中,一个.ibd文件干净的备份意为:

ibd文件里没有尚未提交的事务做的修改。

.ibd文件里无未合并的插入混充条目。

净化已经从.ibd文件移除所有已标注删除的索引记录。

mysqld已经把.ibd文件的所有已修改页面从缓冲池刷新到文件。

你可以用下列方法生成一个.ibd文件的干净备份:

  1. 停止所有来自mysqld服务器的活动,并提交所有事务。
  2. 等待直至SHOW INNODB STATUS显示在数据库被已经没有激活的事务,并且InnoDB主线程的状态是Waiting for server activity。然后你就可以复制.ibd文件了。

生成一个.ibd文件的干净复制的另一个方法是使用商业的InnoDB热备份工具:

  1. 使用InnoDB热备份工具备份InnoDB安装。
  2. 在备份上启动第二个mysqld服务器,让它清洁备份里的.ibd文件。
 » 转载保留版权:老陈 » 《恢复独立表空间的表》
 » 如果喜欢可以: 点此订阅本站
分类: 数据库 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.