1.安装innobackupex
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum list | grep percona
yum install percona-xtrabackup -yum
2.备份准备
备份的数据库用户权限:
mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;
操作系统账号须有mysql数据目录的相应权限。
3.使用innobackupex全量备份
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret --no-timestamp /tmp/backup
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret /tmp/backup
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret /tmp/backup 2>/tmp/backup.log
--no-timestamp 参数带上默认就不会在/tmp/backup目下生成一个时间戳文件夹
全量准备数据
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --use-memory=200M --apply-log /tmp/backup/2015-08-05_00-00-15/ 2>/tmp/backuppreview.log
4.使用innobackupex全量恢复
/etc/init.d/mysql stop
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --copy-back /tmp/backup/2015-08-05_00-28-53/
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --force-non-empty-directories --copy-back /tmp/backup/2015-08-05_00-28-53/
恢复过去的文件是root用户组的,改为mysql即可!
5.使用innobackupex增量备份
做增量前必须有一个全量的备份!
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat /tmp/backup
[root@test ~]# ls /tmp/backup --这就是BASEDIR
2015-08-05_18-16-01
然后创建一个增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --incremental /tmp/backup --incremental-basedir=/tmp/backup/2015-08-05_18-16-01/
[root@test ~]# ls /tmp/backup
2015-08-05_18-16-01 2015-08-05_18-19-48 --这是第一个增量
再做一次增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --incremental /tmp/backup --incremental-basedir=/tmp/backup/2015-08-05_18-19-48/
[root@test ~]# ls /tmp/backup
2015-08-05_18-16-01 2015-08-05_18-19-48 2015-08-05_18-22-25 --这是第二个增量
看得出来每次增量的基础目录是上一次的备份目录!即是增量是有个基础的,最开始是在全备份的基础上增量,后面是在前一次的增量备份的基础上增量!
增量准备数据
innobackupex --apply-log --redo-only /tmp/backup/2015-08-05_18-16-01/
innobackupex --apply-log --redo-only /tmp/backup/2015-08-05_18-16-01/ --incremental-dir=/tmp/backup/2015-08-05_18-19-48/
innobackupex --apply-log /tmp/backup/2015-08-05_18-16-01/ --incremental-dir=/tmp/backup/2015-08-05_18-22-25/
innobackupex --apply-log /tmp/backup/2015-08-05_18-16-01/
6.使用innobackupex增量恢复
数据准备好之后直接恢复BASEDIR
innobackupex --copy-back /tmp/backup/2015-08-05_18-16-01/
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum list | grep percona
yum install percona-xtrabackup -yum
2.备份准备
备份的数据库用户权限:
mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;
操作系统账号须有mysql数据目录的相应权限。
3.使用innobackupex全量备份
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret --no-timestamp /tmp/backup
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret /tmp/backup
innobackupex --defaults-file=/etc/my.cnf --user=bkpuser --password=s3cret /tmp/backup 2>/tmp/backup.log
--no-timestamp 参数带上默认就不会在/tmp/backup目下生成一个时间戳文件夹
全量准备数据
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --use-memory=200M --apply-log /tmp/backup/2015-08-05_00-00-15/ 2>/tmp/backuppreview.log
4.使用innobackupex全量恢复
/etc/init.d/mysql stop
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --copy-back /tmp/backup/2015-08-05_00-28-53/
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --force-non-empty-directories --copy-back /tmp/backup/2015-08-05_00-28-53/
恢复过去的文件是root用户组的,改为mysql即可!
5.使用innobackupex增量备份
做增量前必须有一个全量的备份!
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat /tmp/backup
[root@test ~]# ls /tmp/backup --这就是BASEDIR
2015-08-05_18-16-01
然后创建一个增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --incremental /tmp/backup --incremental-basedir=/tmp/backup/2015-08-05_18-16-01/
[root@test ~]# ls /tmp/backup
2015-08-05_18-16-01 2015-08-05_18-19-48 --这是第一个增量
再做一次增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=redhat --incremental /tmp/backup --incremental-basedir=/tmp/backup/2015-08-05_18-19-48/
[root@test ~]# ls /tmp/backup
2015-08-05_18-16-01 2015-08-05_18-19-48 2015-08-05_18-22-25 --这是第二个增量
看得出来每次增量的基础目录是上一次的备份目录!即是增量是有个基础的,最开始是在全备份的基础上增量,后面是在前一次的增量备份的基础上增量!
增量准备数据
innobackupex --apply-log --redo-only /tmp/backup/2015-08-05_18-16-01/
innobackupex --apply-log --redo-only /tmp/backup/2015-08-05_18-16-01/ --incremental-dir=/tmp/backup/2015-08-05_18-19-48/
innobackupex --apply-log /tmp/backup/2015-08-05_18-16-01/ --incremental-dir=/tmp/backup/2015-08-05_18-22-25/
innobackupex --apply-log /tmp/backup/2015-08-05_18-16-01/
6.使用innobackupex增量恢复
数据准备好之后直接恢复BASEDIR
innobackupex --copy-back /tmp/backup/2015-08-05_18-16-01/