MySQL數據庫中的數據都是非常重要的數據信息,是要告訴保密的,一旦丟失,將會造成很大的損失,所以數據備份是MySQL數據庫操作過程中最為重要的環節,下文中就為大家介紹MySQL數據庫的自動備份。
建立數據庫備份所需條件
[1] 建立自動備份腳本
在這裡,為了使數據庫備份和恢復的符合我們的實際要求,用一段符合要求的Shell腳本來實現整個備份過程的自動化。
[root@CentOS ~]# vi mysql-backup.sh ← 建立數據庫自動備份腳本,如下:
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# The Directory of Backup
BACKDIR=/backup/mysql
# The Password of MySQL
ROOTPASS=******** 此處請將星號替換成MySQL的root密碼
# Remake the Directory of Backup
rm -rf $BACKDIR
mkdir -p $BACKDIR
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
[2] 運行數據庫自動備份腳本
[root@CentOS ~]# chmod 700 mysql-backup.sh 改變腳本屬性,讓其只能讓root用戶執行
[root@CentOS ~]# ./mysql-backup.sh 運行腳本
[root@CentOS ~]# ls -l /backup/mysql/ 確認一下是否備份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql 已成功備份到/backup/mysql目錄中
[3] 讓數據庫備份腳本每天自動運行
[root@sample ~]# crontab -e ← 編輯自動運行規則然後會出現編輯窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh 添加這一行到文件中,讓數據庫備份每天凌晨3點進行
最後再測試數據庫自動備份是否能夠正常運行,如果能夠正常運行就說明數據庫自動備份完成,若不能,可能是中間那個環節出錯啦,返回去,重新做一遍。希望上文中涉及到的內容對大家能夠有所幫助。