当前位置:嗨网首页>书籍在线阅读

05-物理备份和恢复

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

12.1.3 物理备份和恢复

物理备份和逻辑备份的最大优点是备份和恢复的速度都很快,这是因为物理备份的原理都是基于文件拷贝。当然实际操作过程中并没有文件CP那么简单。

物理备份比逻辑备份速度更快,物理备份分为以下两种。

⑴冷备份:这种方式是最直接的备份方式,就是首先停掉数据库服务,然后CP数据文件,恢复时停止MySQL,先进行操作系统级别恢复数据文件,然后重启MySQL服务,使用MYSQLBINLOG工具恢复自备份以来的所有BINLOG。这种方式虽然简单,而且对各个存储引擎都支持,但是有一个非常大的弊端就是需要关闭数据库服务。在当前的大多信息系统都是不允许长时间停机的。

⑵热备份:对于不同的存储引擎方法也不同。

①MyISAM存储引擎,本质就是将要备份的表加读锁,然后再CP数据文件到备份目录。方法有如下两种。

方法1:使用MYSQLHOTCOPY工具。

MYSQLHOTCOPY工具是MySQL自带的热备份工具,使用方法如下。

mysqlhotcopy db_name [/path/to/new_directory]

方法2:手工锁表COPY。

mysql>flush tables for read;

然后CP数据文件到备份目录下。

②InnoDB存储引擎。

iBBACKUP工具可以热备份InnoDB存储引擎类数据库,但它是收费的,此处不研究。

笔者在这里为读者推荐开源工具Xtrabackup。Xtrabackup是Percona公司参与开发的一款在线备份工具,主要具备一下特点:免费开源、支持在线备份、备份速度快、占用磁盘空间小等,并且支持不同情况下的备份形式。它是商业备份工具InnoDB Hotbackup的一个很好的替代品。Xtrabackup包含两个主要的工具,即Xtrabackup和Innobackupex。

Xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表。而Innobackupex是一个封装了Xtrabackup的Perl脚本,所以能同时备份处理InnoDB和XtraDB,但在处理MyISAM时需要加一个读锁。

其官方下载地址为http://www.percona.com/downloads/XtraBackup/,在线帮助文档地址为http://www.percona.com/docs/wiki/percona-xtrabackup:start。