
时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)
MySQL的本地备份和双机相互备份脚本:
首先,我们需要修改脚本进行必要的配置,然后以root用户执行。
◆1. 第一执行远程备份时先用 first参数.
◆2. 本地备份用local参数
◆3. 远程备份不用参数<注意1>
注意:
需要在另一主机上的MySQL用户里添加用户。
需要配置的地方:
# define host and mysql password
REMOTE_HOST=&& #远程主机名或IP
REMOTE_PASSWORD=&& #远程主机的mysql中的root@本地主机 密码.
# define database path
DB_PATH=&/var/lib/mysql& #本地mysql数据库路径
LOCAL_PASSWORD=&& #本地mysql root用户密码
DB_BACKUP_PATH=&/root/db_bk& #本地备份时数据保存的路径
NO_BACKUP_DB=&& 设置本地数据库中不想备份的数据库名,用空格隔开
直接下载
#!/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:walteyh@sohu.com&;&>walteyh@sohu.com&;
fi
# Ended all backup opretion!
echo &&;
echo &Note: if there is come wrong message white MySQL, you should check yourconfigure first!&;
exit
关键词标签:备份,相互,本地,数据库
相关阅读 Xbox Game Pass 10款MySQL数据库客户端图形界面管理工具推荐 MySQL常用维护管理工具 MySQL数据库启动失败1067进程意外终止的解决办法总结 MySQL故障:got error 127 when reading table 的错误的原因及解决办法 MySQL CPU 占用 100% 的解决过程
热门文章
10款MySQL数据库客户端图形界面管理工具推荐
MySQL常用维护管理工具
使用命令行监控MYSQL
MySQL安装指南大盘点
mssql数据导入MySQL数据库实操
数据库技巧——MySQL十大优化技巧
人气排行 10款MySQL数据库客户端图形界面管理工具推荐 MySQL数据库启动失败1067进程意外终止的解决办法总结 Mysql 1045错误解决办法 MySQL服务器进程CPU占用100%解决办法 MySQL导出导入命令的用例 MySQL连接字符串的实际操作步骤汇总 MySQL无法启动、无法停止各种解决方法总结 三种常用的MySQL建表语句 Mysql清空表的实现方法 MySQL故障:got error 127 when reading table 的错误的原因及解决办法 查看MySQL数据库表的命令介绍 Foxpro到MySQL的数据转换技术介绍
查看所有0条评论>>