10bet网址
MySQL企业备份3.11用户指南
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 1.0 mb
PDF (A4)- 1.0 mb
HTML下载(TGZ)- 161.8 kb
HTML下载(Zip)- 183.1 kb


4.4备份和恢复单个。ibd文件

具有特定于表的表空间(存储在.ibd可以在不关闭MySQL服务器的情况下单独恢复。如果您错误地删除或更新了表数据,而又没有真正丢失表本身删除表截断表,或删除数据库声明。

如果你有一个完整的备份.ibd文件,你可以恢复到MySQL安装,从它的起源如下:

  1. 对于MySQL 5.5及更早版本,表必须已经存在,并且在执行备份后没有被删除或截断。当一个InnoDB表被截断或删除并重新创建时,它将获得一个新的表ID。数据库中的表与备份的表之间的任何ID不匹配都可能阻止对其进行恢复。匹配表id的要求也是您必须恢复到备份数据所在的MySQL服务器,而不是另一个具有类似数据库和表集的服务器的原因。这个限制不适用于MySQL 5.6及更高版本,只要从一个通用可用(GA)版本恢复到同一系列MySQL服务器中的另一个版本即可。

  2. 防止对要恢复的表进行写操作。这可以防止用户在恢复过程中修改表。

    锁表tbl_name写;
  3. 这个问题ALTER TABLE声明:

    ALTER TABLEtbl_name丢弃表空间;

    警告:这将删除当前.ibd文件。

  4. 复制备份.ibd文件返回到适当的数据库目录。

  5. 这个问题ALTER TABLE声明:

    ALTER TABLEtbl_name进口表空间;
  6. 释放写锁以完成恢复过程:

    打开表;

在这种情况下,清洁.ibd文件备份方式:

  • 中的事务没有未提交的修改.ibd文件。

  • 对象中没有未合并的插入缓冲区项.ibd文件。

  • 对象中删除了所有已删除标记的索引记录.ibd文件。

  • mysqld已刷新.ibd文件从缓冲池到文件。

你可以做这么干净的备份.ibd用以下方法存档:

  1. 停止所有活动mysqld服务器并提交所有事务。

  2. 等到显示innodb状态的主线程状态显示数据库中没有活动事务InnoDB等待服务器活动.然后你可以复制一份.ibd文件。

对象的干净副本的另一种方法.ibd文件是要使用的mysqlbackup

  1. 使用mysqlbackup——only-innodb——only-innodb-with-frm选项来备份InnoDB安装。

  2. 运行mysqlbackup……运用原木创建备份数据库的一致版本。

  3. 开始第二次(假)mysqld备份服务器,让它清理.ibd备份中的文件。等待清理结束。

  4. 关掉假人mysqld服务器。

  5. 清洁一下.ibd备份中的文件。