Xtrabackup工具是一个对InnoDB做数据的备份工具,支持全亮备份和增量备份。不支持MyISAM数据库的备份
但是Xtrabackup有一个工具innobackupex,它可以支持MyISAM,但是备份的时候是需要加锁
(flush tables with read lock)读锁,(unlock tables)解读锁。
- 使用innobackupex 备份
首先需要在my.cnf里面的[mysqld]指定datadir
innodb_log_file_size = 5M
如:datadir=/usr/local/mysql
2.整个数据库备份
innobackupex --defaults-file=/etc/my.cnf --user=root /home/backup
3.对单个数据库备份
innobackupex --defaults-file=/etc/my.cnf --user=root --database=backup_test /home/backup
4.备份并压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --stream=tar |gzip > /home/backup/`date +%F-%T`.tar.gz
5.整个数据还原
1)停掉mysql
/etc/init.d/mysqld stop
2)备份数据目录
mv /usr/local/mysql /usr/local/mysql.bak
3)重新创建目录
mkdir -p /usr/local/mysql
4)改变文件所属
chown mysql:mysql /usr/local/mysql
5)备份数据,2步
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/backup/2015-11-29_16-50-36
innobackupex --defaults-file=/etc/my.cnf --copy-back /home/backup/2015-11-29_16-50-36
6.增量备份
增量备份是在上一次的全量备份基础上进行的一次操作。
innobackupex --defaults-file=/etc/my.cnf --user=root --incremental-basedir=/home/backup/2015-11-29_16-50-36 --incremental /home/backup
7.查看备份记录的文件
cat xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
last_lsn = 22223450
compact = 0
8.增量备份还原
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log --redo-only /home/backup/2015-11-29_16-50-36
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log --redo-only /home/backup/2015-11-29_16-55-49 --incremental-dir=/home/backp/2015-11-29_14-30-37
innobackupex --defaults-file=/my.cnf --user=root --apply-log /data/backup/2015-11-29_16-50-36
然后第五步走一边。
参考文献 http://blog.51yip.com/mysql/1650.html
http://www.cnblogs.com/gomysql/p/3650645.html