mysql数据同步脚本

#! bin/bash

#目标库
HOST=127.0.0.1    #ip地址(表示本机地址)
USER=root         #数据库用户名
PORT=3316         #端口号
PASSWORD=123456      #数据库密码
DATABASE=ydt   #数据库名
BACKUP_PATH=/home/ydt/mysql/data       #备份目录
logfile=/home/ydt/mysql/data/data.log  #记录日志
SQLFILE="export.sql" #导出的SQL

#源库
DST_HOST=192.168.10.250   #ip地址
DST_USER=root          #数据库用户名
DST_PORT=3306
DST_PASSWORD=123456      #数据库密码
DST_DATABASE=ydt   #数据库名

#备份目标数据库
[ ! -d "$BACKUP_PATH/" ] && mkdir -p "$BACKUP_PATH/"

if [ -d "$BACKUP_PATH" ];then
  cd "$BACKUP_PATH"
fi

  mysqldump -u$USER -p$PASSWORD --databases $DATABASE > $DATABASE.sql
  echo "\033[42;31m正在导出远程数据库,具体时间根据数据库大小而定,请耐心等待\033[0m"
if [ $? = 0 ]
then
        echo "数据备份成功!"
        echo "数据备份成功!" >> $logfile
else
        echo "数据备份失败!"
        echo "数据备份失败!" >> $logfile
fi

#进入备份目录
cd $BACKUP_PATH

#导出原始数据库
mysqldump -h$DST_HOST -P$DST_PORT -u$DST_USER -p$DST_PASSWORD --databases $DST_DATABASE > $BACKUP_PATH/$SQLFILE
if [ $? = 0 ]
then
        echo "数据导出成功!"
        echo "数据导出成功!" >> $logfile
        #导入到目标库
         mysql -h$HOST -P$PORT -u$USER -p$PASSWORD $DATABASE < $BACKUP_PATH/$SQLFILE

        if [ $? = 0 ]
        then
                echo "数据导入成功!"
                echo "数据导入成功!" >> $logfile
        else
                echo "数据导入失败!"
                echo "数据导入失败!" >> $logfile
                exit 4
        fi
else
        echo "导出数据失败!"
        echo "导出数据失败!" >> $logfile
        fi

猜你喜欢

转载自blog.csdn.net/weixin_44006354/article/details/102669725