mydumper比mysql中自帶的功能性能要強很多它可以實現多線程數據備份與恢復,下面本教程就來介紹mydumper安裝,備份及自動備份腳本的例子,希望此例子對各位會帶來幫助.
mydumper 安裝
1、先安裝cmake,因為這個軟件要用cmake編譯,代碼如下:
# apt-get install cmake
2、接下來安裝mydumper兼容包,這個很關鍵,因為根據官網文檔,centos/redhat等其他系統需要的包名是不同的,可根據實際系統去查閱官網資料,代碼如下:
# apt-get install libglib2.0-dev libmysqlclient15-dev zlib1g-dev libpcre3-dev
3、下載源碼安裝包:
#wget http://launchpad.net/mydumper/0.2/0.2.3/+download/mydumper-0.2.3.tar.gz
4、解壓包,代碼如下:
#tar xzvf mydumper-0.2.3.tar.gz
5、進入解壓目錄,準備開始安裝,代碼如下:
#cd mydumper-0.2.3/
6、用cmake進行編譯,注意后面有個字符"."(其實就是英文的句號),,別落下了啊,代碼如下:
#cmake .
7、安裝,代碼如下:
#make
#make install
到這里就已經安裝完畢了.
簡單的備份恢復測試
備份,代碼如下:mydumper –kill-long-queries -u root -B dbname -T db-tables-name -p ‘password’ -v 2 -c -t 8 –outputdir=/home/backup/20120615/
恢復備份,代碼如下:
myloader -d /home/backup/20120615/ -o -B dbname -u root -p ‘passwd’ -t 4 &
myloader 大多參數和mydumper一樣
–directory, -d 要還原的數據目錄
–overwrite-tables, -o Drop any existing tables when restoring schemas
下面是各項常用參數解釋:
備份mysql的shell腳本
該腳本基本功能如下(如果允許的話請自行增加異地/異機災備):
1、備份數據庫;
2、加上了過期代碼,保留了7天的備份,以免硬盤被撐爆了,有需求的請自行增減時間;
3、通過對比可得知數據庫備份使用了多長時間。
實例代碼如下:
- #!/bin/bash
- #This is a ShellScript for auto DB-Backup
- #201204 by szy
- #Setting
- DBName=test
- DBUser=root
- DBPasswd=password
- m.survivalescaperooms.com
- BackupPath=/home/backup/db
- LogFile=/home/backup/log/DBbackup.log
- NewFile="$BackupPath"/"$DBName1"/$(date +%y%m%d)
- OldFile="$BackupPath"/"$DBName1"/$(date +%y%m%d --date='7 days ago')
- echo "----------------Backup Start-------------------" >> $LogFile
- echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
- echo "-----------------------------------------------------" >> $LogFile
- #Delect Old File
- if [ -d $OldFile ]
- then
- rm -rf $OldFile >> $LogFile 2>&1
- echo "----------[$OldFile]Delete Old File Success!----------" >> $LogFile
- else
- echo "----------[$DBName]No Old Backup File!-------------" >> $LogFile
- fi
- #Backup
- echo "----------------------$DBName----------------------" >> $LogFile
- echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
- if [ -d $NewFile ]
- then
- echo "----------[$NewFile]The Backup File is exists,Can't Backup!----------" >> $LogFile
- else
- mkdir $NewFile
- mydumper --kill-long-queries -u $DBUser -B $DBName -p $DBPasswd -v 2 -c -t 8 --outputdir=$NewFile
- fi
- echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
- echo "--------------This ShellScript End-------------------" >> $LogFile
新聞熱點
疑難解答