Linux主機建立MySQLDatabase Backup所需條件
[1] 建立自動備份指令碼
在這裡,為了使Database Backup和恢複的符合我們的實際要求,用一段符合要求的Shell指令碼來實現整個備份過程的自動化。
[root@localhost ~]# 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@localhost ~]# chmod 700 mysql-backup.sh ← 改變指令碼屬性,讓其只能讓root使用者執行
[root@localhost ~]# ./mysql-backup.sh ← 運行指令碼
[root@localhost ~]# ls -l /backup/mysql/ ← 確認一下是否備份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql ← 已成功備份到/backup/mysql目錄中