MySQL备份与恢复之percona-xtrabackup软件的使用
一 使用percona-xtrabackup的原因
在前面,我们讲到MySQL冷备、热备、mysqldump、热拷贝、保证数据的一致性。因为mysql冷备、mysqldump、mysql热拷贝均不能实现增量备份,在实际环境中增量备份是使用较多的,percona-xtrabackup就是为实现增量备份而生,因此我们需要使用percona-xtrabackup。
相关阅读:
二 什么是percona-xtrabackup
Percona XtraBackup is an open-source hot backup utility for MySQL -based servers that doesn’t lock your database during the backup.
It can back up data from InnoDB, XtraDB,and MyISAM tableson MySQL 5.1 [1], 5.5 and5.6 servers, as well as Percona Server with XtraDB.For a high-level overview of many of its advanced features, including a featurecomparison, please see AboutPercona Xtrabackup.
Whether it is a 24x7 highly loaded server or alow-transaction-volume environment, Percona XtraBackup isdesigned to make backups a seamless procedure without disrupting theperformance of the server in a production environment.Commercial support contracts areavailable.
Percona XtraBackup is a combination of the xtrabackup C program,and the innobackupex Perl script. The xtrabackupprogramcopies and manipulates InnoDB and XtraDB datafiles, and the Perl script enables enhanced functionality,such as interacting with a running MySQL server and backing up MyISAM tables.
三 软件及文档获取
软件获取
http://www.percona.com/software/percona-xtrabackup/downloads
http://download.csdn.net/detail/wentasy/6638171
文档获取
http://www.percona.com/doc/percona-xtrabackup/2.1/
http://download.csdn.net/detail/wentasy/6638029
四 软件使用讲解
注:本文采用的percona-xtrabackup版本为2.0.2,操作系统版本为RHEL 6.1 Server,MySQL版本为5.1
第一步,准备文件并拷贝文件
[root@larrywen ule-mysql]# ll percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm -rwxr-xr-x. 1 root root 3786628 Sep 10 13:45 percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm [root@larrywen ule-mysql]# scp percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm 192.168.1.11:/opt
第二步,该软件需要依赖MySQL客户端,所以使用yum安装。注意,此处安装的只是MySQL的客户端,和本身使用源码安装的MySQL不冲突
[root@serv01 opt]# yum install percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm -y Installed: percona-xtrabackup.x86_64 0:2.0.2-461.rhel6 Dependency Installed: mysql.x86_64 0:5.1.52-1.el6_0.1
第三步,初始化备份
[root@serv01 databackup]# innobackupex --user=root --password=123456 /databackup/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona Inc 2009-2012. All Rights Reserved. …… innobackupex: Backup created in directory '/databackup/2013-09-10_21-49-44' innobackupex: MySQL binlog position: filename 'mysql-bin.000001', position 7312 130910 21:50:03 innobackupex: completed OK!
第四步,这样的备份文件无法使用,我们需要做统一检查
[root@serv01 databackup]# ll total 4 drwxr-xr-x. 9 root root 4096 Sep 10 21:50 2013-09-10_21-49-44 #做统一检查 [root@serv01 databackup]# innobackupex --apply-log /databackup/2013-09-10_21-49-44/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona Inc 2009-2012. All Rights Reserved. …… xtrabackup: starting shutdown with innodb_fast_shutdown = 1 130910 21:51:52 InnoDB: Starting shutdown... 130910 21:51:56 InnoDB: Shutdown completed; log sequence number 2098188 130910 21:51:56 innobackupex: completed OK!
第五步,模拟数据丢失