ホームページ  >  記事  >  データベース  >  xtrabackup备份恢复mysql全备(一)_MySQL

xtrabackup备份恢复mysql全备(一)_MySQL

WBOY
WBOYオリジナル
2016-06-01 13:32:55769ブラウズ

bitsCN.com

xtrabackup备份恢复mysql全备(一)

 

Xtrabackup 是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复mysql数据库。Xtrabackup中包含两个工具:

xtrabackup是用于热备份innodb和xtradb表中数据的工具,不能备份其他引擎的表,也不能备份数据表结构;

 

innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。

 

安装rpm包,rpm包可以从官网下载

[root@aeolus1 ~]# rpm -ivh percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm

 

warning: percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a

Preparing...                ########################################### [100%]

   1:percona-xtrabackup     ########################################### [100%]

安装完毕,在/usr/bin 下有如下两个工具innobackupex和xtrabackup 

root@aeolus1 bin]# ll inno* 

-rwxr-xr-x 1 root root 110738 May 23 02:24 innobackupex

lrwxrwxrwx 1 root root     12 Jun  9 18:18 innobackupex-1.5.1 -> innobackupex

[root@aeolus1 bin]# ll *xtrabackup* 

-rwxr-xr-x 1 root root  2894280 May 23 02:25 xtrabackup

-rwxr-xr-x 1 root root  4494952 May 23 02:25 xtrabackup_55

-rwxr-xr-x 1 root root 11633272 May 23 02:25 xtrabackup_56

通过一个实例,展现xtrabackup全备完整的备份恢复过程,以及注意的问题。

1  创建一个全备 

Innobackupex  --user=root  --password=passwd  /root/mysqlbackup/

这样就创建了一个全备,备份文件存储在以时间戳为目录名下面,

还有以下选项 

--defaults-file=/etc/my.cnf 备份时使用的mysql配置文件

--no-timestamp 不以时间戳命名目录名

2  创建了备份之后,数据还不能用于恢复。一些某提交的事务还可能未撤销或者日志中的事务要重播,为了保证数据一致性,我们需要apply日志到备份的文件上。

 innobackupex --apply-log /root/mysqlbackup/2013-06-14_16-20-56

这样备份的数据就可以应用与恢复

3  drop database mysql 然后恢复

 innobackupex --user=root --copy-back /root/mysqlbackup/2013-06-14_16-20-56

恢复完毕,改变数据文件的权限,启动数据库

chown  -R mysql:mysql    /usr/local/mysql/data

 需要注意的是,全恢复情况下,

  1 服务器必须关闭,只要部分恢复的时候,服务器不用关闭。

  2 datadir参数目录必须为空,如果存在文件,--copy-back 将不拷贝

  3  每次操作完毕,确认日志最后是否有 innobackupex: completed OK!标志着动作的完成。

 

bitsCN.com
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。