################################################################################## ###### ######恢复数据库的时候,需要将备份的日志应用备份的文件中去,让后才能进行恢复 ######备份:innobackupex --user=root --password=banma --defaults-file=/etc/my.cnf --database=testinnodb /tmp/data/ ######恢复2步骤 innobackupex --user=root --password=banma --apply-log /tmp/data/2013-08-23_16-09-10/ [[email protected] 2013-08-23_16-09-10]# rsync -avz testinnodb ib* /usr/local/mysql_data/data/ chown -R mysql:mysql /usr/local/mysql_data/data/ ###### ###### ###### ###### ################################################################################## 一、安装部署和过程 1.下载安装 wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-1.6.7/binary/Linux/x86_64/xtrabackup-1.6.7.tar.gz 2.安装需要的库 yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel 3、解压 tar zxvf xtrabackup-1.6.7.tar.gz 4、进入目录 cd xtrabackup-1.6.7 5、复制 cd bin cp * /usr/bin 然后就安装完成了,下面开始备份 注意:文件解释 innobackupex是我们要使用的备份工具; xtrabackup是被封装在innobackupex之中的,innobackupex运行时需要调用它; xtrabackup_51是xtrabackup运行时需要调用的工具; tar4ibd是以tar流的形式产生备份时用来打包的工具。 二、备份和恢复 6、对某个数据库进行全部备份的命令介绍 innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --database=test --stream=tar /tmp/data/ 2>/tmp/data/info.log|gzip 1>/tmp/data/test.tar.gz 说明: --database=test 单独对test数据库做备份 ,若是不添加此参数那就那就是对全库做备份 2>/tmp/data/info.log 输出信息写入日志中 1>/tmp/data/test.tar.gz 打包压缩存储到该文件中 ( mysql> create table test (id int); Query OK, 0 rows affected (0.06 sec) mysql> insert into test values(1); Query OK, 1 row affected (0.04 sec) ) 7、恢复数据库 (1)创建一个文件夹 mkdir /tmp/restore cd /tmp/data tar -izxvf test.tar.gz -C /tmp/restore [[email protected] data]# ll /tmp/restore/ 总用量 131096 -rw-r--r-- 1 root root 263 8月 23 14:38 backup-my.cnf -rw-rw---- 1 mysql mysql 134217728 8月 23 14:22 ibdata1 drwxr-xr-x 2 root root 4096 8月 23 14:53 test -rw-r--r-- 1 root root 13 8月 23 14:38 xtrabackup_binary -rw-r--r-- 1 root root 21 8月 23 14:38 xtrabackup_binlog_info -rw-r--r-- 1 root root 73 8月 23 14:38 xtrabackup_checkpoints -rw-r--r-- 1 root root 2560 8月 23 14:38 xtrabackup_logfile (2)开始应用日志(将备份文件中的日志,应用到备份文件中的数据文件上, --apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中) [[email protected] restore]# innobackupex --user=root --password=banma --apply-log /tmp/restore/ [[email protected] restore]# ll 总用量 526356 -rw-r--r-- 1 root root 263 8月 23 14:38 backup-my.cnf -rw-rw---- 1 mysql mysql 134217728 8月 23 14:59 ibdata1 -rw-r--r-- 1 root root 134217728 8月 23 14:59 ib_logfile0 -rw-r--r-- 1 root root 134217728 8月 23 14:59 ib_logfile1 -rw-r--r-- 1 root root 134217728 8月 23 14:59 ib_logfile2 drwxr-xr-x 2 root root 4096 8月 23 14:53 test -rw-r--r-- 1 root root 13 8月 23 14:38 xtrabackup_binary -rw-r--r-- 1 root root 21 8月 23 14:38 xtrabackup_binlog_info -rw-r--r-- 1 root root 73 8月 23 14:59 xtrabackup_checkpoints -rw-r--r-- 1 root root 2097152 8月 23 14:59 xtrabackup_logfile (3)恢复正式开始 然后把test目录复制到/usr/local/mysql_data/data目录 [[email protected] restore]# rsync -avz test ib* /usr/local/mysql_data/data sending incremental file list ib_logfile0 ib_logfile1 ib_logfile2 ibdata1 test/ test/test.MYD test/test.MYI test/test.frm sent 529692 bytes received 149 bytes 13762.10 bytes/sec total size is 536880534 speedup is 1013.29 [[email protected] restore]#chown -R mysql:mysql /usr/local/mysql_data/data 三、增量备份和恢复 (1)先添加几条数据 insert into test values(10); insert into test values(11); insert into test values(12); insert into test values(13); insert into test values(14); insert into test values(15); (2)增量备份 [[email protected] data]# innobackupex --user=root --password=banma --database=test --incremental --incremental-basedir=/tmp/restore/ /tmp/data 其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。 这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份。 在进行增量备份的恢复之前,先关闭数据库,然后删除数据库test (3)增量备份的恢复 [[email protected] data]# innobackupex -user=root --password=banma --defaults-file=/etc/my.cnf --apply-log /tmp/restore/ --incremental-dir=/tmp/data/2013-08-23_15-22-54/ 然后再进入恢复的目录/tmp/data [[email protected] 2013-08-23_15-22-54]# ll 总用量 172 -rw-r--r-- 1 root root 263 8月 23 15:22 backup-my.cnf -rw-r--r-- 1 root root 147456 8月 23 15:22 ibdata1.delta -rw-r--r-- 1 root root 18 8月 23 15:22 ibdata1.meta drwxr-xr-x 2 root root 4096 8月 23 15:23 test -rw-r--r-- 1 root root 13 8月 23 15:23 xtrabackup_binary -rw-r--r-- 1 root root 21 8月 23 15:23 xtrabackup_binlog_info -rw-r--r-- 1 root root 75 8月 23 15:23 xtrabackup_checkpoints -rw-r--r-- 1 root root 2560 8月 23 15:23 xtrabackup_logfile [[email protected] 2013-08-23_15-22-54]# rsync -avz test ib* /usr/local/mysql_data/data/
时间: 2024-10-09 22:33:33