mysql資料庫的自動備份與恢復

2021-06-08 21:28:42 字數 1429 閱讀 4199

一,備份

1, 建立自動備份指令碼

vim /root/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 ← 備份資料庫中所有資料庫($dblist可以改為單個資料庫

domysqlhotcopy $dbname -u root -p $rootpass $backdir | logger -t mysqlhotcopy

done

2,給指令碼給予執行許可權

chmod 700 /root/mysql-backup.sh

3,執行指令碼

./root/mysql-backup.sh

4檢視下是否備份成功(我這裡選擇只單個備份資料庫test2)

ll -l /backup/mysql

[root@test ~]# ll -l /backup/mysql/

總計 4

drwxr-x--- 2 mysql mysql 4096 03-24 12:20 test2

5, 讓資料庫備份指令碼每天自動執行(計畫任務用法查詢相關資料)

crontab -e

← 編輯自動執行規則(然後會出現編輯視窗,操作同vi)

00 03 * * * /root/mysql-backup.sh

← 新增這一行到檔案中,讓資料庫備份每天凌晨3點進行

二,恢復

bin/cp -rf /backup/mysql/test2/ /var/lib/mysql/

← 複製備份的資料庫test到相應目錄

chown -r mysql:mysql /var/lib/mysql/test/

← 改變資料庫test的歸屬為mysql

chmod 700 /var/lib/mysql/test2/

← 改變資料庫目錄屬性為700

chmod 660 /var/lib/mysql/test2/*

← 改變資料庫中資料的屬性為660

Oracle和MySQL資料庫的備份與恢復

oracle 最簡單的備份與恢復的例子 匯出 exp scott tiger orcl file c wolfetest export scott data.dmp 匯入 imp scott tiger orcl file c wolfetest export scott data.dmp 注意 在...

linux系統下MySQL資料庫備份與恢復

備份 mysqldump u username p databasename filename.sql 自行設定sql檔名 備份所有資料庫 mysqldump u username p all databases filename.sql 如果需要壓縮匯出的sql檔案 mysqldump u use...

study 24 Mysql資料庫的備份與恢復

一,備份單個資料庫練習多種引數使用 1,mysql資料庫自帶乙個很好用的備份命令,就是mysqldump,他的基本使用如下 1 語法 mysqldump u 使用者名稱 p 資料庫名 備份的檔名 備份 mysqldump uroot p123456 s data 3306 mysql.sock ww...