数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

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


发布日期:2024年06月05日
 
mysql的本地备份和双机相互备份脚本

先修改脚本进行必要的配置然后以root用户执行

第一执行远程备份时先用 first参数

本地备份用local参数

远程备份不用参数<注意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_allsh

# 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/mydball

if [ $ != help ]; then

for db in `ls $DB_PATH`; do

if_backup=

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 $ 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/$dbgz ]; then

mv $DB_BACKUP_PATH/$dbgz $DB_BACKUP_PATH/$dbgz;

fi

mysqldump password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$dbgz

echo [OK]

;;

*)

# Do common Backup!

echo n [ $db ]Do Backup! ====>> $REMOTE_HOST/$db;

mysqldump adddroptable $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_allsh [firs|local|help];

echo Some question ask for mailto:;>;

fi

# Ended all backup opretion!

echo ;

echo Note: if there is come wrong message white MySQLyou should check yourconfigure first!;

exit

               

上一篇:面向MYSQL数据构架梭子鱼负载均衡解决方案

下一篇:从MySQL导出XLS数据库工具