W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
防偽碼:防止誤刪系統(tǒng)數(shù)據(jù)庫,定時備份你我更安心!
使用shell腳本自動化備份數(shù)據(jù)庫
一、簡介
系統(tǒng)數(shù)據(jù)庫如圖所示(以MySQL5.5為例)
1、information_schema:信息數(shù)據(jù)庫,其中保存著關(guān)于MySQL服務(wù)器所維護的所有其他數(shù)據(jù)庫的信息。在information_schema中,有數(shù)個只讀表。它們實際上是視圖,而不是基本表,因此,你將無法看到與之相關(guān)的任何文件。
2、mysql:MySQL的的核心數(shù)據(jù)庫,類似于SQLServer中的master表,主要負(fù)責(zé)存儲數(shù)據(jù)庫的用戶、權(quán)限設(shè)置、關(guān)鍵字、mysql自己需要使用的控制和管理信息等。不可以刪除,如果對mysql不是很了解,也不要輕易修改這個數(shù)據(jù)庫里面的表信息。
3、performance_schema:存儲引擎,主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。
4、test:安裝時候創(chuàng)建的一個測試數(shù)據(jù)庫,和它的名字一樣,是一個完全的空數(shù)據(jù)庫,沒有任何表,可以刪除。
二、編寫腳本,自動化備份數(shù)據(jù)庫(以test為例)
1、開啟服務(wù)
2、用戶授權(quán)
3、編寫腳本(vim yy.sh)
腳本如下:
#!/bin/bash
#auto backup
back=/data/backup/`date +%Y%m%d`
mysqldb=test
mysqlpw=123456
mysqluser=backup
mysqlcmd=$(which mysqldump)
if [ $UID -ne 0 ];then
echo "bixushiyongroot"
exit
fi
if [ ! -d $back ];then
mkdir -p $back
else
echo "this $back is exit............."
fi
$mysqlcmd -u$mysqluser -p$mysqlpw -d $mysqldb >$back/$mysqldb.sql
if [ $? -eq 0 ];then
echo "The backup successful"
else
echo "Backup failure"
fi
4、設(shè)置執(zhí)行權(quán)限并執(zhí)行腳本
三、根據(jù)工作需要,設(shè)置計劃任務(wù)(crontab -e)
本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: