Mysqldump備份數(shù)據(jù)庫

常用數(shù)據(jù)庫備份工具:
mysqldump:mysql工具包自帶(數(shù)據(jù)庫比較小)
xtrabackup:比較好的備份工具(數(shù)據(jù)庫比較大)

備份用戶授權(quán):
# select 選擇表
# reload 刷新日志
# lock tables 鎖表
# show view 視圖
# trigger 觸發(fā)器
###
GRANT SELECT,RELOAD,SHOW VIEW,LOCK TABLES,TRIGGER ON . TO 'dumper'@'localhost' IDENTIFIED BY 'manager1';
GRANT SELECT,RELOAD,SHOW VIEW,LOCK TABLES,TRIGGER ON . TO 'dumper'@'127.0.0.1' IDENTIFIED BY 'manager1';
準(zhǔn)備測試數(shù)據(jù)庫:
# mysql > CREATE DATABASE test DEFAULT CHARACTER SET utf8;
# mysql > USE test;
# mysql > SOURCE /root/test.sql;
Mysqldump備份命令:
#mysqldump --user=dumper --password=manager1 --databases test | gzip - | openssl des3 -salt -k manager1 -out /data/backup/test.sql.gz.des3
# mysqldump: [Warning] Using a password on the command line interface can be insecure.
刪除測試數(shù)據(jù)庫:
# mysql > DROP DATABASE test;
解密備份文件:
# openssl des3 -d -salt -in test.sql.gz.des3 -out test.sql.gz
# enter des-ede3-cbc decryption password: #輸入加密時(shí)密碼
解壓縮備份文件:
# gunzip test.sql.gz
恢復(fù)備份文件:(mysqldump備份會從最開始創(chuàng)建數(shù)據(jù)庫的時(shí)候備份,所以無需提前創(chuàng)建數(shù)據(jù)庫,亦可cat sql文件開頭檢查sql語句)
# mysql -u root -hlocalhost -p < test.sql
# Enter password: #輸入root用戶密碼
連接Mysql檢查數(shù)據(jù)庫是否已經(jīng)恢復(fù)

編寫簡單備份腳本:
1、mysqldump備份數(shù)據(jù)庫
2、備份文件采用gzip壓縮,并且采用3des加密
3、備份文件留存7天,自動(dòng)進(jìn)行刪除
4、每天晚上2點(diǎn)準(zhǔn)時(shí)開始備份
#!/bin/bash
#
BACKDIR=/data/backup/mysql
MYSQLDUMP=/usr/local/mysql5.7/bin/mysqldump
DATEFORMAT=$(date +%Y%m%d%H%M)
DBNAME="test mysql"
BACKUSER=dumper
BACKPASSWD=manager1
LOG=/data/backup/mysql/backup.log
[ -d $BACKDIR ] || mkdir -p $BACKDIR
[ -f $LOG ] && touch $LOG
#
find "$BACKDIR" -name "mysql-20*" -type f -mmin +3|xargs rm -rf
[ $? -eq 0 ] && echo -e "${DATEFORMAT} Delete 7 days ago backup file success" || echo -e "${DATEFORMAT} Delete Old backup file failure"
#
for DB in $DBNAME ;do
$MYSQLDUMP --user=$BACKUSER --password=$BACKPASSWD --routines --triggers --single-transaction --flush-logs --databases ${DB} | gzip - | openssl des3 -salt -k manager1 -out ${BACKDIR}/mysql-${DATEFORMAT}-${DB}.sql.gz.des3
[ $? -eq 0 ] && echo -e "${DATEFORMAT} mysqldump database ${DB} backup success" >> $LOG || echo -e "${DATEFORMAT} mysqldump database ${DB} backup failure" >> $LOG
done
#
crontab -e
0 2 * * * /bin/bash /root/script/mysql_backup.sh


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 文/Bruce.Liu1 文章大綱備份概念1.1. 備份目的1.2. 備份方式1.3. 備份類型1.4. 備份對象...
    BruceLiu1閱讀 3,925評論 4 15
  • 需要原文的可以留下郵箱我給你發(fā),這里的文章少了很多圖,懶得網(wǎng)上粘啦 1數(shù)據(jù)庫基礎(chǔ) 1.1數(shù)據(jù)庫定義 1)數(shù)據(jù)庫(D...
    極簡純粹_閱讀 7,496評論 0 46
  • MySQL 數(shù)據(jù)庫常用命令 1、MySQL常用命令 create database name; 創(chuàng)建數(shù)據(jù)庫 use...
    55lover閱讀 4,825評論 1 57
  • 試舉例分析《詩經(jīng)》六義之首“風(fēng)”的含義 言其作用,“風(fēng)”者,風(fēng)諫也、風(fēng)教也。言其本源,“風(fēng)”者,土風(fēng)也、風(fēng)謠也,今...
    屢空閱讀 22,265評論 1 7
  • “小朋友說明天要語文測驗(yàn),怕萬一考砸了影響心情,提早一天過個(gè)生日。” 好友的朋友圈赫赫然地出現(xiàn)了這樣一條動(dòng)態(tài)。動(dòng)態(tài)...
    蘇寂然閱讀 374評論 4 2