MySQL數(shù)據(jù)庫(kù)中的自動(dòng)備份破壞后的建立
此文章主要介紹的是在MySQL數(shù)據(jù)庫(kù)中的自動(dòng)備份與MySQL數(shù)據(jù)庫(kù)遭到破壞之后的恢復(fù)中建立數(shù)據(jù)庫(kù)備份所需條件,其中包括對(duì)自動(dòng)備份腳本的建立,MySQL數(shù)據(jù)庫(kù)自動(dòng)備份腳本的正確運(yùn)行與數(shù)據(jù)庫(kù)備份腳本每天自動(dòng)運(yùn)行。
[1] 建立自動(dòng)備份腳本
在這里,為了使MySQL數(shù)據(jù)庫(kù)備份和恢復(fù)的符合我們的實(shí)際要求,用一段符合要求的Shell腳本來(lái)實(shí)現(xiàn)整個(gè)備份過(guò)程的自動(dòng)化。
[root@CentOS ~]# vi mysql-backup.sh ← 建立數(shù)據(jù)庫(kù)自動(dòng)備份腳本,如下:
- #!/bin/bash
- PATH=/usr/local/sbin:/usr/bin:/bin
- # The Directory of Backup
- BACKDIR=/backup/mysql
- # The Password of MySQL
- ROOTPASS=
此處請(qǐng)將星號(hào)替換成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] 運(yùn)行MySQL數(shù)據(jù)庫(kù)自動(dòng)備份腳本
[root@CentOS ~]# chmod 700 mysql-backup.sh 改變腳本屬性,讓其只能讓root用戶執(zhí)行
[root@CentOS ~]# ./mysql-backup.sh 運(yùn)行腳本
[root@CentOS ~]# ls -l /backup/mysql/ 確認(rèn)一下是否備份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql 已成功備份到/backup/mysql目錄中
[3] 讓數(shù)據(jù)庫(kù)備份腳本每天自動(dòng)運(yùn)行
[root@sample ~]# crontab -e ← 編輯自動(dòng)運(yùn)行規(guī)則(然后會(huì)出現(xiàn)編輯窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh 添加這一行到文件中,讓數(shù)據(jù)庫(kù)備份每天凌晨3點(diǎn)進(jìn)行
測(cè)試自動(dòng)備份正常運(yùn)轉(zhuǎn)與否(備份恢復(fù)的方法)
這里,以通過(guò)實(shí)際操作的過(guò)程來(lái)介紹問(wèn)題出現(xiàn)后的恢復(fù)方法。
【編輯推薦】
- MySQL 分頁(yè)存儲(chǔ)過(guò)程的實(shí)際操作流程與代碼
- MySQL數(shù)據(jù)庫(kù)權(quán)限設(shè)置的實(shí)際運(yùn)行過(guò)程
- Python如何對(duì)MySQL存儲(chǔ)過(guò)程進(jìn)行調(diào)用?
- MySQL數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)與索引的優(yōu)化方案
- AJAX MySQL 數(shù)據(jù)庫(kù)與PHP的實(shí)例演示