此文章主要介紹的是在MySQL數據庫中的自動備份與MySQL數據庫遭到破壞之後的恢復中建立數據庫備份所需條件,其中包括對自動備份腳本的建立,MySQL數據庫自動備份腳本的正確運行與數據庫備份腳本每天自動運行。
[1] 建立自動備份腳本
在這裡,為了使MySQL數據庫備份和恢復的符合我們的實際要求,用一段符合要求的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] 運行MySQL數據庫自動備份腳本
[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點進行
測試自動備份正常運轉與否備份恢復的方法)
這裡,以通過實際操作的過程來介紹問題出現後的恢復方法。