mysql超大数据库备份

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

当前文章:mysql超大数据库备份
网站地址:http://scyanting.com/article/ghcshs.html