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
相關文章
相關標籤/搜索