innobackupex热备份mysql

增量备份

innobackupex  --user="databaseusername"  --no-lock --defaults-file=/etc/my.cnf  /data/backup/mysql/increment

innobackupex  --user="databaseusername"  --no-lock --defaults-file=/etc/my.cnf   --incremental /data/backup/mysql --incremental-basedir=/data/backup/mysql/2014-02-27_18-06-39

innobackupex  --user="databaseusername"  --no-lock --defaults-file=/etc/my.cnf   --incremental /data/backup/mysql --incremental-basedir=/data/backup/mysql/2014-02-24_13-49-29

开始恢复:关闭mysql

//解压:

tar -ixzvf increment_2014-02-27_19-47-55.tar.gz

//增量apply_log

innobackupex --apply-log --user="databaseusername"  --defaults-file=/etc/my.cnf --no-lock /data/backup/mysql/2014-02-27_19-43-10

innobackupex --apply-log --user="databaseusername"  --defaults-file=/etc/my.cnf --no-lock /data/backup/mysql/2014-02-27_19-43-10/ --incremental-dir=/data/backup/mysql/2014-02-27_19-47-55

innobackupex --apply-log --user="databaseusername"  --defaults-file=/etc/my.cnf --no-lock /data/backup/mysql/2014-02-24_15-29-04/ --incremental-dir=/data/backup/mysql/2014-02-24_15-30-43

//copy_back

设置datadir = /var/lib/mysql_data(设置后mysql无法启动)

//增量恢复数据

innobackupex --copy-back --user="databaseusername" --defaults-file=/etc/my.cnf --no-lock /data/backup/mysql/2014-02-27_19-43-10

设置datadir = /var/lib/mysql

 

 

 

//全量备份举例(定时备份已完成该步骤)

/usr/bin/innobackupex --user="databaseusername"  --no-lock --defaults-file=/etc/my.cnf  --stream=tar /data/backup/mysql  | gzip >/data/backup/mysql/test.tar.gz  

//解压:

tar -ixzvf full_2014-02-27_19-09-58.tar.gz

开始恢复:关闭mysql

//全量apply_log

innobackupex --apply-log --user="databaseusername" --defaults-file=/etc/my.cnf --no-lock --ibbackup=xtrabackup_55 /data/backup/mysql/2014-02-27_20-33-27

//copy_back

设置datadir = /var/lib/mysql_data(设置后mysql无法启动)

//增量恢复数据

innobackupex --copy-back --user="databaseusername" --defaults-file=/etc/my.cnf --no-lock /data/backup/mysql/2014-02-27_20-33-27

设置datadir = /var/lib/mysql

 

 

 

//增量和全量公共部分

//修改own

chown -R mysql:mysql /var/lib/mysql_data;

备份mysql下已被破坏的数据,删除mysql_data下不需要恢复的数据库

//复制到datadir

cp -R --preserve=all /var/lib/mysql_data/*  /var/lib/mysql/

为复制过来的数据增加用户组组w权限

chcon -R -t mysqld_db_t /var/lib/mysql

//查看是否相同selinux

ls -Z

启动数据库

你可能感兴趣的:(backup)