指定數據庫備份
[root@node1]# innobackupex --defaults-file=/data/3306/my.cnf --user=root --password=password --databases="db01" /backup/dbs/html
指定表備份
[root@node1]# innobackupex --defaults-file=/data/3306/my.cnf --user=root --password=password --databases="db01 tab1" /backup/dbs/node
以壓縮格式備份
[root@node1]# innobackupex --defaults-file=/data/3306/my.cnf --user=root --password=password --stream=tar /backup/full/|gzip>/backup/full/back_`date +%F`.tar.gzmysql
–user= #指定數據庫備份用戶 –password= #指定數據庫備份用戶密碼 –port= #指定數據庫端口 –host= #指定備份主機 –socket= #指定socket文件路徑 –databases= #備份指定數據庫,多個空格隔開,如–databases=」dbname1 dbname2″,不加備份全部庫 –defaults-file= #指定my.cnf配置文件 –apply-log #日誌回滾 –incremental= #增量備份,後跟增量備份路徑 –incremental-basedir= #增量備份,指上次增量備份路徑 –redo-only #合併全備和增量備份數據文件 –copy-back #將備份數據複製到數據庫,數據庫目錄要爲空 –no-timestamp #生成備份文件不以時間戳爲目錄名 –stream= #指定流的格式作備份,–stream=tar,將備份文件歸檔 –remote-host=user@ip DST_DIR #備份到遠程主機
二、完整備份與恢復sql
2.1 完整備份 # innobackupex --user=bak --password='bak2015' /mysql_backup 2.2 備份恢復 # innobackupex --defaults-file=/etc/mysql/my.cnf --copy-back /home/loongtao/mysql_backup/2015-02-08_11-56-48/ 2.3 備份文件說明 # ls 2015-02-08_11-56-48 backup-my.cnf:記錄innobackup使用到mysql參數 xtrabackup_binary:備份中用到的可執行文件 xtrabackup_checkpoints:記錄備份的類型、開始和結束的日誌序列號 xtrabackup_logfile:備份中會開啓一個log copy線程,用來監控innodb日誌文件(ib_logfile),若是修改就會複製到這個文件
三、完整備份+增量備份與恢復數據庫
3.1 完整備份 # innobackupex --user=bak --password='bak2015' /mysql_backup 備份後位置是:/mysql_backup/2015-02-08_11-56-48 3.2 增量備份1 # innobackupex --user=bak --password='bak2015' --incremental /data1/mysql_backup --incremental-basedir=/mysql_backup/2015-02-08_11-56-48 #指定上次完整備份目錄 3.3 增量備份2 # innobackupex --user=bak --password='bak2015' --incremental /data1/mysql_backup --incremental-basedir=/mysql_backup/2015-02-08_12-16-06 #指定上次增量備份目錄 3.4 查看xtrabackup_checkpoints文件 一目瞭然,能夠看到根據日誌序號來增量備份
3.5 備份恢復bash
3.5.1 備份恢復思路 將增量備份一、增量備份2…合併到完整備份,加到一塊兒出來一個新的完整備份,將新的完整備份以拷貝的形式到數據庫空目錄(rm /var/lib/mysql/* -rf) 3.5.2 預備完整備份 xtrabackup把備份過程當中可能有還沒有提交的事務或已經提交但未同步數據文件的事務,寫到xtrabackup_logfile文件,因此要先經過這個日誌文件回滾,把未完成的事務同步到備份文件,保證數據文件處於一致性。 # innobackup --apply-log --redo-only 2015-02-08_11-56-48 3.5.3 合併第一個增量備份 # innobackupex --apply-log --redo-only /mysql_backup/2015-02-08_11-56-48/ --incremental-dir=mysql_backup/2015-02-08_12-16-06 3.5.4 合併第二個增量備份 # innobackupex --apply-log --redo-only /mysql_backup/2015-02-08_11-56-48/ --incremental-dir=mysql_backup/2015-02-08_16-06-53 3.5.5 恢復完整備份 這時2015-02-08_11-56-48完整備份已經包含全部增量備份,能夠經過查看checkpoints來覈實 # innobackupex --defaults-file=/etc/mysql/my.cnf --copy-back /mysql_backup/2015-02-08_11-56-48/ 3.5.6 修改恢復數據文件權限 # chown -R mysql.mysql /var/lib/mysql 3.5.7 啓動MySQL,查看數據庫恢復狀況 # /etc/init.d/mysqld start
四、備份文件歸檔壓縮服務器
4.1 歸檔併發送到備份服務器 # innobackupex --databases=test --user=bak --password='bak2015' --stream=tar /mysql_backup 2>/mysql_backup/bak.log |ssh root@192.168.18.251 "cat - > /mysql_backup/`date +%F`.tar" 解壓:tar -ixvf `date +%F`.tar 4.2 歸檔備份 # innobackupex --databases=test --user=bak --password='bak2015' --stream=tar /mysql_backup > /mysql_backup/`date +%F`.tar 解壓:tar -ixvf `date +%F`.tar 4.3 壓縮歸檔備份 # innobackupex --databases=test --user=bak --password='bak2015' --stream=tar /mysql_backup |gzip >/mysql_backup/`date +%F`.tar.gz 解壓:tar -izxvf `date +%F`.tar.gz
轉自下面連接併發
http://codecloud.net/21389.htmlapp