Linux資料庫熱備份mysqlhotcopy

2021-05-04 13:54:06 字數 1636 閱讀 8400

● 建立資料庫備份所需條件

[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 ...