国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类MySQL → mysql的本地备份和双机相互备份脚本

mysql的本地备份和双机相互备份脚本

我要评论 2009/05/11 11:08:08 来源:国语自产精品视频在线看 编辑:编辑整理 [ ] 评论:0 点击:257次

自己写【zì jǐ xiě】的,大家多【dà jiā duō】指教.
mysqldump_all.sh [first|local|help}

先修改【xiān xiū gǎi】🗼脚本进【jiǎo běn jìn】行✅必要的【bì yào de】配置⛹,然后以【rán hòu yǐ】😄root用【yòng】户🏎执行【zhí háng】✅.
1. 第一执行【zhí háng】✅远程备份时先用【yòng】 first参数🌡.
2. 本地备【běn dì bèi】💬份用【fèn yòng】🧦local参数🌡
3. 远程备份不用【yòng】参数🌡<注意【zhù yì】🗓1>

注意【zhù yì】🗓:需要在【xū yào zài】另一主机上的Mysql用【yòng】户用【yòng】🥏添加用【yòng】户🏎..

需要配💺置的地🐷方:
# define host and mysql password
REMOTE_HOST="" #远程主🔝机名或IP
REMOTE_PASSWORD="" #远程主🔝机的mysql中的root@本地主机 密码【mǎ】.

# define database path
DB_PATH="/var/lib/mysql" #本地mysql数据库【shù jù kù】路径
LOCAL_PASSWORD="" #本地mysql root用【yòng】户密😮码【mǎ】
DB_BACKUP_PATH="/root/db_bk" #本地备【běn dì bèi】💬份时数💹据保存的路径

NO_BACKUP_DB="" 设置本【shè zhì běn】地数据【dì shù jù】😟库中不【kù zhōng bú】🚍想备份的数据库【shù jù kù】名,用空格【yòng kōng gé】隔开【gé kāi】🥘

直接下😷载

#!/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 walteyh@sohu.com";
fi

# Ended all backup opretion!
echo "";
echo "Note: if there is come wrong message white MySQL, you should check your configure first!";
exit

关键词:mysql,备份

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视