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