標籤:xtrabackup 備份 mysql
安裝組件
yum -y install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
訪問http://www.percona.com/software/percona-toolkit/下載最新版本的Percona Toolkit
wget https://www.percona.com/downloads/percona-toolkit/2.2.15/RPM/percona-toolkit-2.2.15-1.noarch.rpm
從http://pkgs.repoforge.org/perl-TermReadKey/下載最新的TermReadKey包
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-3.el6.rfx.x86_64.rpm
先安裝這個
rpm -ivh perl-TermReadKey-2.30-3.el6.rfx.x86_64.rpm
再安裝這個
rpm -ivh percona-toolkit-2.2.15-1.noarch.rpm
安裝XtraBackup
安裝組件
yum -y install perl-Time-HiRes libaio* openssl*
yum clean all
安裝xtrabackup
tar zxvf percona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz -C /usr/src/
mv /usr/src/percona-xtrabackup-2.2.9-Linux-x86_64 /usr/local/xtrabackup
添加檔案連結
ln -s /usr/local/xtrabackup/bin/innobackupex /usr/bin/innobackupex
ln -s /usr/local/xtrabackup/bin/xtrabackup /usr/bin/xtrabackup
ln -s /usr/local/xtrabackup/bin/xbcrypt /usr/bin/xbcrypt
ln -s /usr/local/xtrabackup/bin/xbstream /usr/bin/xbstream
查看版本
xtrabackup -v
測試備份指定庫test
innobackupex --user=root --socket=/data/3306/mysqld.sock --defaults-file=/usr/local/mysql/my.cnf --databases=test --stream=tar /backup/mysql 2>/backup/mysql_innobackup.log | gzip > /backup/mysql/`date +%Y%m%d`.tar.gz
常用參數如下:
--user=root 備份操作使用者名稱,一般都是root使用者
--password=root123 密碼,因為預設密碼是空的,所以我沒有加這個參數
--socket=/data/3306/mysqld.sock 指定sock檔案
--defaults-file=/usr/local/mysql/my.cnf 指定設定檔
--port=3306 指定連接埠
--host=172.17.210.112 主機ip,本地可以不加
--databases=test 指定備份的資料庫,如果沒有這個參數,就是所有資料庫
--parallel=4 --throttle=400 並行個數,根據主機配置選擇合適的,預設是1個,多個可以加快備份速度。
--stream=tar 壓縮類型,這裡選擇tar格式,可以加,可不加。加上檔案就小一點,在備份的時候就已經打包好了。
/backup/mysql/1 備份存放的目錄
2>/backup/mysql/innoback.log 備份日誌,將備份過程中的輸出資訊重新導向到bak.log
1>/backup/mysql/1/`date +%Y%m%d`.tar.gz 備份檔案壓縮後的名字
編寫指令碼
#!/bin/bash
echo "###############################" >> /backup/mysql.log
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime mysql開始備份" >> /backup/mysql.log
time=`date +%Y%m%d`
innobackupex --user=root --socket=/data/3306/mysqld.sock --defaults-file=/usr/local/mysql/my.cnf --stream=tar /backup/mysql 2>/backup/mysql_innobackup.log | gzip > /backup/mysql/$time.tar.gz
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime mysql備份完成" >> /backup/mysql.log
#刪除3天前的備份檔案
find /backup/mysql -mtime +2 -type f -name "*.tar.gz" -exec rm {} \;
本文出自 “隕落星空” 部落格,請務必保留此出處http://xiao987334176.blog.51cto.com/2202382/1693176
xtraBackup備份mysql