mysql数据同步

测试环境数据库同步,使用主从同步,但生产环境中,为了高可用,两组数据库,每组数据库组内实现主主互备,这时主从方案就不好实现了,于是采用了定时任务,每天日终导出当天的表记录,并导入到另外一个库中,以实现部分表同步的需求。

环境

  • 主机:centos 6.7
  • 主库:mysql5.7.21,172.18.169.16:3306
  • 备库:mysql5.7.21,172.18.169.16:13306
  • 脚本放在/opt/DbBackup

导出脚本

export.sh

#!/bin/bash --login
if  [ ! -n "$1" ] ;then
   echo '请输入开始日期'
   exit
fi
mysqldump --skip-lock-tables --single-transaction -h172.18.169.16 -P3306 -uroot -pbs -t trade_core pay_trade  --where=" trade_date = '$1' "> pay_trade_$1.sql

导入脚本

import.sh

#!/bin/bash --login
if  [ ! -n "$1" ] ;then
   echo '请输入开始日期'
   exit
fi
mysql -h172.18.169.16 -P13306 -uroot -pbs123456 trade_core < pay_trade_$1.sql

自动同步脚本

autoImport.sh

#!/bin/bash --login
cd /opt/DbBackup
yesterday=`date  +"%Y%m%d" -d  "-1 days"`
echo "同步$yesterday数据"
./export.sh $yesterday
./import.sh $yesterday

定时任务

crontab -e
00 03 * * * /opt/DbBackup/autoImport.sh

查看任务执行

tail -f /var/spool/mail/root
mysql数据同步_第1张图片
mark

你可能感兴趣的:(mysql数据同步)