● 建立資料庫備份所需條件
[1] 建立自動備份指令碼
在這裡,為了使資料庫備份和恢復的符合我們的實際要求,用一段符合要求的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
domysqlhotcopy $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目錄中
[3] 讓資料庫備份指令碼每天自動執行
[root@localhost ~]# crontab -e
← 編輯自動執行規則(然後會出現編輯視窗,操作同vi)
00 03 * * * /root/mysql-backup.sh
← 新增這一行到檔案中,讓資料庫備份每天凌晨3點進行
● 測試自動備份正常運轉與否(備份恢復的方法)
[root@localhost ~]# /bin/cp -rf /backup/mysql/test/ /var/lib/mysql/ ← 複製備份的資料庫test到相應目錄
[root@localhost ~]# chown -r mysql:mysql /var/lib/mysql/test/ ← 改變資料庫test的歸屬為mysql
[root@localhost ~]# chmod 700 /var/lib/mysql/test/ ← 改變資料庫目錄屬性為700
[root@localhost ~]# chmod 660 /var/lib/mysql/test/*
← 改變資料庫中資料的屬性為66
0
手動備份MySQL資料庫 手動備份mysql資料庫
paths 檔案路徑 user 資料庫使用者名稱 pass 資料庫密碼 database 資料庫名 public static boolean backup string paths,string user,string pass,string database outstr sb.tostring...
資料庫的冷備份和熱備份
冷備份 冷備份資料必須是資料庫不在open狀態下。以下步驟會給出詳細的過程 1 關閉db shutdown immediate 2 copy oradata目錄下的所有檔案,包括資料檔案,控制檔案,redo,等,還需要copy 密碼檔案 在目錄ora92下 的database 中的pwd 檔案.全部...
資料庫的熱備份和冷備份
冷備份 off,慢,時間點上恢復 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種說法。對於備份資料庫資訊而言,冷備份是最快和最安全的方法。冷備份的優點 1 是非常快速的備份方法 只需拷貝檔案 2 容易歸檔 簡單拷貝即可 3 ...