本文實例講述了MySQL定時備份數(shù)據(jù)庫操作。分享給大家供大家參考,具體如下:
1. 查看mysqldump
root@laowang:/# which mysqldump
/usr/bin/mysqldump
2. 編寫腳本
編輯my.cnf文件, 指定賬號與密碼, 然后在腳本中引用
root@laowang:/# vim /etc/my.cnf
[mysqldump]
user=root
password=root
腳本文件
root@laowang:/var/backups# vim mysql_backup.sh
#!/bin/sh
#################################################
# 備份數(shù)據(jù)庫
#################################################
#mysqldump備份程序執(zhí)行路徑
DUMP=/usr/bin/mysqldump
#備份文件存放路徑
OUT_DIR=/var/database
#備份文件所屬權(quán)限
LINUX_USER=root
#要備份的數(shù)據(jù)庫名字
DB_NAME=laowang
#備份的天數(shù),之前的刪除
DAYS=1
#進入備份存放目錄
cd $OUT_DIR
#獲取當(dāng)前系統(tǒng)時間
DATE=`date +%Y_%m_%d`
#備份數(shù)據(jù)庫的文件名
OUT_SQL=$DB_NAME"_$DATE.sql"
#最終保存的數(shù)據(jù)庫備份文件名
TAR_SQL=$DB_NAME"_$DATE.tar.gz"
#開始執(zhí)行備份數(shù)據(jù)庫
$DUMP --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME > $OUT_SQL
#壓縮為.tar.gz格式
tar -czf $TAR_SQL ./$OUT_SQL
#刪除.sql格式的備份文件
rm $OUT_SQL
#更改備份數(shù)據(jù)庫文件的所有者
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL
#刪除30天前的備份文件(注意:{} \;中間有空格)
find $OUT_DIR -name "*.tar.gz" -type f -mtime +$DAYS -exec rm -f {} \;
3. 定時計劃
root@laowang:/# crontab -e
# m h dom mon dow command
10 10 * * * /var/backups/mysql_backup.sh
ctrl+X 退出
y 保存修改
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
您可能感興趣的文章:- mysql自動定時備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
- MySQL定時備份之使用Linux下的crontab定時備份實例
- linux實現(xiàn)定時備份mysql數(shù)據(jù)庫的簡單方法
- linux定時備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)
- 定時備份mysql, 定時切割nginx access log的方法
- MySQL定時備份數(shù)據(jù)庫(全庫備份)的實現(xiàn)