時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)
mysql的本地備份和雙機(jī)相互備份腳本:
首先,我們需要修改腳本進(jìn)行必要的配置,然后以root用戶執(zhí)行。
◆1. 第一執(zhí)行遠(yuǎn)程備份時(shí)先用 first參數(shù).
◆2. 本地備份用local參數(shù)
◆3. 遠(yuǎn)程備份不用參數(shù)<注意1>
注意:
需要在另一主機(jī)上的MySQL用戶里添加用戶。
需要配置的地方:
# define host and mysql password
REMOTE_HOST="" #遠(yuǎn)程主機(jī)名或IP
REMOTE_PASSWORD="" #遠(yuǎn)程主機(jī)的mysql中的root@本地主機(jī) 密碼.
# define database path
DB_PATH="/var/lib/mysql" #本地mysql數(shù)據(jù)庫路徑
LOCAL_PASSWORD="" #本地mysql root用戶密碼
DB_BACKUP_PATH="/root/db_bk" #本地備份時(shí)數(shù)據(jù)保存的路徑
NO_BACKUP_DB="" 設(shè)置本地?cái)?shù)據(jù)庫中不想備份的數(shù)據(jù)庫名,用空格隔開
直接下載
#!/bin/sh
# mysqldump_all.sh
# this scripts is used to backup MySQL database bettwen tow Mysql server!
# define host and mysql password
REMOTE_HOST=""
REMOTE_PASSWORD=""
# define database path
DB_PATH="/var/lib/mysql"
LOCAL_PASSWORD=""
DB_BACKUP_PATH="/root/db_bk"
# define which database no back up, write db anme escap whit space!
# example;
# NO_BACKUP_DB="yns test ps_note"
# this said that if db name is "yns" or "test" or "ps_note", then not backup them!
NO_BACKUP_DB=""
# get the database name and process one by one
echo "Start to Backup...";
#ls /var/lib/mysql > /tmp/mydb.all
if [ "$1" != "help" ]; then
for db in `ls $DB_PATH`; do
if_backup="1"
if [ -d $DB_PATH/$db ] ; then
for noBackDB in $NO_BACKUP_DB ; do
if ( test "$db" = "$noBackDB" ); then
#echo -n "...";
if_backup="";
fi
done
if [ $if_backup ]; then
case "$1" in
first)
echo -n "Crate db [ $db ] on $REMOTE_HOST first!"
result=`mysqladmin -h $REMOTE_HOST --password=$REMOTE_PASSWORD create $db`
if [ ! $result ]; then
echo "...Done!";
else
echo "...Fialed! check your configure plz!";
echo "Remote host said: $result";
exit
fi
;;
local)
# back up to localhost dir.
if [ ! -d $DB_BACKUP_PATH ]; then
mkdir $DB_BACKUP_PATH
fi
echo -n "[ $db ]....Backup to local$DB_BACKUP_PATH with gzip";
if [ -e "$DB_BACKUP_PATH/$db.gz" ]; then
mv $DB_BACKUP_PATH/$db.gz $DB_BACKUP_PATH/$db.1.gz;
fi
mysqldump --password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$db.gz
echo "...[OK]"
;;
*)
# Do common Backup!
echo -n "[ $db ]...Do Backup! ====>> $REMOTE_HOST/$db";
mysqldump --add-drop-table $db --password=$LOCAL_PASSWORD | mysql -h $REMOTE_HOST --password=$REMOTE_PASSWORD $db
echo "....[OK]";
esac
else
echo "[ $db ]";
echo "***This database set to Not backup!...Operation CANCELED!";
fi
else
echo "[ $db ]";
echo "***Warning! Not a DataBbase. Backup Canceled***";
fi
done
else
echo "Usage: mysqldupm_all.sh [firs|local|help]";
echo "Some question ask for href="mailto:[email protected]";">[email protected]";
fi
# Ended all backup opretion!
echo "";
echo "Note: if there is come wrong message white MySQL, you should check yourconfigure first!";
exit
關(guān)鍵詞標(biāo)簽:備份,相互,本地,數(shù)據(jù)庫
相關(guān)閱讀
熱門文章 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL常用維護(hù)管理工具Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)MySQL復(fù)制的概述、安裝、故障、技巧、工具
人氣排行 MySQL數(shù)據(jù)庫啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)Mysql 1045錯(cuò)誤解決辦法10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法MySQL導(dǎo)出導(dǎo)入命令的用例MySQL無法啟動(dòng)、無法停止各種解決方法總結(jié)三種常用的MySQL建表語句Mysql清空表的實(shí)現(xiàn)方法