赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

MySQL数据库本地备份和双机相互备份脚本

发布时间:2008.05.14 04:50     来源:赛迪网    作者:Alice

【赛迪网-IT技术报道】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

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 讲解查看MySQL数据库错误码的三个方法 (05-13) · 详细讲解MySQL数据库双机热备的配置方法 (05-13)
· 详细讲解MySQL数据库的双向加密方式 (05-12) · 实例讲解MySQL数据库密码的恢复与重设 (05-12)
· 教你快速掌握MySQL数据库的双向加密方式 (05-12) · MySQL数据库常见的出错代码及出错信息 (05-10)
· 带你轻松接触MySQL数据库的异常处理 (05-08) · 使用实例管理器轻松管理多个MySQL实例 (05-08)
· 由浅入深讲解MySQL数据库索引的选择性 (05-07) · MySQL性能调整之my.cnf文件的配置方法 (05-07)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 工信部“三定”公布 总编制731名设24司局
· 北京发电子商务监管意见 营利性网店须办照
· 直播 08中国城市信息化高峰论坛 案例点评
· 烽火网络校园解决方案 移民安置信息管理系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统