1. 程式人生 > 資料庫 >MySQL定時備份資料庫操作示例

MySQL定時備份資料庫操作示例

本文例項講述了MySQL定時備份資料庫操作。分享給大家供大家參考,具體如下:

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
#################################################
# 備份資料庫
#################################################
#mysqldump備份程式執行路徑
DUMP=/usr/bin/mysqldump
#備份檔案存放路徑
OUT_DIR=/var/database
#備份檔案所屬許可權
LINUX_USER=root
#要備份的資料庫名字
DB_NAME=laowang
#備份的天數,之前的刪除
DAYS=1

#進入備份存放目錄
cd $OUT_DIR
#獲取當前系統時間
DATE=`date +%Y_%m_%d`
#備份資料庫的檔名
OUT_SQL=$DB_NAME"_$DATE.sql"
#最終儲存的資料庫備份檔名
TAR_SQL=$DB_NAME"_$DATE.tar.gz"
#開始執行備份資料庫
$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
#更改備份資料庫檔案的所有者
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 儲存修改

更多關於MySQL相關內容感興趣的讀者可檢視本站專題:《MySQL索引操作技巧彙總》、《MySQL常用函式大彙總》、《MySQL日誌操作技巧大全》、《MySQL事務操作技巧彙總》、《MySQL儲存過程技巧大全》及《MySQL資料庫鎖相關技巧彙總》

希望本文所述對大家MySQL資料庫計有所幫助。