mysql innodb远程备份_【译】MySQL如何从完全备份恢复单个InnoDB表

# innobackupex –defaults-file=/etc/my.cnf –export /tmp/

接着应用日志得到一个一致的备份:

# innobackupex --defaults-file=/etc/my.cnf --apply-log --export /tmp/2012-01-22_14-13-20/

现在,将要删除部分数据。这个例子中,我们删除user 10008的salary信息:

mysql> SELECT * FROM salaries WHERE emp_no=10008;

+--------+--------+------------+------------+

| emp_no | salary | from_date | to_date |

+--------+--------+------------+------------+

| 10008 | 46671 | 1998-03-11 | 1999-03-11 |

| 10008 | 48584 | 1999-03-11 | 2000-03-10 |

| 10008 | 52668 | 2000-03-10 | 2000-07-31 |

+--------+--------+------------+------------+

mysql> DELETE FROM salaries WHERE emp_no=10008;

下面的步骤将节省不少时间与脑细胞:-p我们只恢复salaries表而不是所有InnoDB数据。

Discard salaries表的表空间: mysql> ALTER TABLE salaries DISCARD TABLESPACE;

从备份目录拷贝salaries.ibd文件到数据目录: # cp /tmp/2012-01-22_14-13-20/employees/salaries.ibd /var/lib/mysql/data/employees/

导入新的表空间: mysql> ALTER TABLE salaries IMPORT TABLESPACE;

mysql> SELECT * FROM salaries WHERE emp_no=10008;

+--------+--------+------------+------------+

| emp_no | salary | from_date | to_date |

+--------+--------+------------+------------+

| 10008 | 46671 | 1998-03-11 | 1999-03-11 |

| 10008 | 48584 | 1999-03-11 | 2000-03-10 |

| 10008 | 52668 | 2000-03-10 | 2000-07-31 |

+--------+--------+------------+------------+

user的salary记录又回来了!

结论:

如刚才所演示的,某个InnoDB表空间可以像MyISAM一样进行单独恢复操作。需要留意的是,这需要一些先决条件。

Percona Server解除了很多限制,比如:alter或truncate表的同时,在另外一个服务器实例中导入该表。虽然这仅适用于使用Xtrabackup导出的表,导出的数据中含有本来没有存在.ibd文件中的主要表空间的基本信息。

要想刚才所述的功能工作的话, innodb_import_table_from_xtrabackup=1 选项必须打开。访问 Percona Server扩展导出文档 获取更详细的信息。

下一篇博客,我将会阐述如何使用Percona Data Recovery工具集实现恢复操作。

转至:http://www.himysql.com/mysql/how-to-recover-a-single-innodb-table-from-a-full-backup.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值