欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql如何實現(xiàn)innobackupex備份腳本

這篇文章主要為大家展示了“MySQL如何實現(xiàn)innobackupex備份腳本”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“mysql如何實現(xiàn)innobackupex備份腳本”這篇文章吧。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、做網(wǎng)站、婁星網(wǎng)絡(luò)推廣、微信小程序、婁星網(wǎng)絡(luò)營銷、婁星企業(yè)策劃、婁星品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供婁星建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:chinadenli.net

做一個innobackupex的腳本,有全備有增量備份,要求一周一個循環(huán),每周6晚上做全備,周日做以周六的全備為基礎(chǔ)的增量備份,周1做以周日的增量備份為基礎(chǔ)的增量備份,依次類推。。。注意增量備份可以以增量備份為基礎(chǔ),然后每次做全備的時候,把上一個循環(huán)內(nèi),也就是最近一周的備份壓縮到另一個目錄,并且將這個目錄的這一周的備份刪除。最后存儲壓縮后的備份的目錄需要保留1個月的備份,

開始之前你要明白幾點:

1)xtrabackup只能備份innodb和xtradb兩種引擎的表,而不能備份myisam引擎的表,但是innobackupex是一個封裝了xtrabackup的Perl腳本,支持同時備份innodb和myisam,但在對myisam備份時需要加一個全局的讀鎖。還有就是myisam不支持增量備份,不支持不是說會報錯,你雖然執(zhí)行的是增量備份,但是關(guān)于myisam的相關(guān)表是全備份的。

2)使用innobackupex備份的時候,如果沒有指定參數(shù)--no-timestamp,那么會在你的主備份目錄下生成一個時間格式的子目錄,如果指定了參數(shù)--no-timestamp,那么你指定的備份目錄的最后一級,例如:innobackupex --defaults-file=/etc/my.cnf --no-timestamp --user=root --password=123456  --socket=/var/lib/mysql/mysql.sock /backup/mysqldump/back_2017-05-29 ,注意最后一級,也就是back_2017-05-29一定是不存在的,否在報錯:innobackupex: Error: Failed to create backup directory /backup/mysqldump/back_2017-05-29: File exists at /usr/bin/innobackupex line 4066

3)注意xtrabackup一般需要自己安裝使用,區(qū)別于oracle的rman,首先根據(jù)自己的操作系統(tǒng)情況下載相應(yīng)的安裝包,直接下載封裝好的二進制的.tar文件,然后解壓縮即可下載網(wǎng)址如下:

https://www.percona.com/downloads/XtraBackup/LATEST/

不要下載最新的除非你的操作系統(tǒng)比較新

tar zxvf  percona-xtrabackup-2.2.11-Linux-x86_64.tar.gz

yum deplist perl-DBD-MySQL

yum -y install perl-Digest*
yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel 

具體的腳本:

#!/bin/bash
function date2days {
    echo "$*" | awk '{
        z=int((14-$2)/12); y=$1+4800-z; m=$2+12*z-3;
        j=int((153*m+2)/5)+$3+y*365+int(y/4)-int(y/100)+int(y/400)-2472633;
        print j
    }'
}
db_user="root"
db_passwd="123456"
db_defaults_file="/etc/my.cnf"
db_socket="/var/lib/mysql/mysql.sock"
db_backup="/backup/mysqldump/"
db_backup_fulldir="/backup/mysqldump/full/"
db_backup_incrementaldir="/backup/mysqldump/incremental/"
db_backup_gzfull="/backup/mysqldump/gzip/"
db_backup_tarfull="/backup/mysqldump/tar.gzdb/"
rm_num=7
move_and_tar (){
if [ $# != 1 ]; then
       echo "參數(shù)不正確"
       exit 0 
fi
time_rm=`date -d "$1 days ago" +"back_%d-%m-%Y"`   
if [ $1 -eq 7 ]; then
        if [ -d ${db_backup_fulldir}${time_rm} ]; then
                tar -czPvf ${db_backup_tarfull}${time_rm}_full.tar.gz ${db_backup_fulldir}${time_rm}
                rm -rf ${db_backup_fulldir}${time_rm}
                echo "壓縮目錄rm $db_backup_fulldir${time_rm}" >>/backup/mysqldump/config/tar.log
        fi
fi
if [ $1 -gt 0 -a $a -lt 7 ]; then
        if [ -d $db_backup_incrementaldir${time_rm} ]; then
                su - root -c  "tar -czPvf ${db_backup_tarfull}${time_rm}_increment.tar.gz ${db_backup_incrementaldir}${time_rm}"
                su - root -c  "rm -rf ${db_backup_incrementaldir}${time_rm}"
                echo "壓縮目錄rm $db_backup_incrementaldir${time_rm}" >>/backup/mysqldump/config/tar.log
        fi
fi
}
time="$(date +"back_%d-%m-%Y")"
source /backup/mysqldump/config/config
_Day=$(date2days `echo ${backup_full:5:10}|awk 'BEGIN{FS="-"}{print $3,$2,$1}'`)
Day=$(date2days `date +"%Y %m %d"`)
echo $_Day
echo $Day
let result=$Day-$_Day
echo "相差$result天"
if [ -z ${backup_full} ] || [ $result -ge 7  ] ; then
echo '全備份'
backup_full=${time}
innobackupex --defaults-file=$db_defaults_file --no-timestamp --user=${db_user} --password=${db_passwd}  --socket=$db_socket ${db_backup_fulldir}${backup_full}/
    
if [ $? -eq 0 ]; then
        echo "${time} 備份成功!!!" >> /backup/mysqldump/config/results.log
    else
        echo "${time} 備份失敗???" >> /backup/mysqldump/config/results.log
    fi
echo "backup_full=${backup_full}" >/backup/mysqldump/config/config
echo "backup_pre_name=full/${backup_full}" >>/backup/mysqldump/config/config
while [ ${rm_num} -lt 8 -a ${rm_num} -gt 0 ]
do
move_and_tar ${rm_num}
rm_num=`expr ${rm_num} - 1`
done
echo '全備份'
else
echo '增量備份'
innobackupex  --defaults-file=$db_defaults_file --socket=$db_socket --no-timestamp --user=${db_user} --password=${db_passwd}  --incremental ${db_backup_incrementaldir}${time}/ --incremental-basedir=${db_backup}${backup_pre_name}
if [ $? -eq 0 ]; then
                echo "${time} 增量備份成功!!!" >> /backup/mysqldump/config/results.log
        else
                echo "${time} 增量備份失敗???" >> /backup/mysqldump/config/results.log
        fi
echo "backup_full=${backup_full}" >/backup/mysqldump/config/config
echo "backup_pre_name=incremental/${time}" >>/backup/mysqldump/config/config
echo '增量備份'
fi

以上是“mysql如何實現(xiàn)innobackupex備份腳本”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:mysql如何實現(xiàn)innobackupex備份腳本
標題鏈接:http://chinadenli.net/article34/ppcppe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化Google網(wǎng)站策劃網(wǎng)站營銷靜態(tài)網(wǎng)站網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司