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
mark
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容