主备MySQL数据库定时同步

我没有做Mysql实时同步,因为不受监管的情况下我根本不知道同步结果,有没有报错。我试过,也确实能达到即时同步效果,但一出错就停掉了,我也懒得查资料看如何解决,所以就改为定时用命令同步了,这样还可以搭配我自己开发的自动邮件,掌握同步结果。

Windows MySQL定时同步

批处理:

通过mysqldump.exe命令将需要同步的数据库导出到本地,导出时间由数据库大小决定。

@echo on
del D:\MySQL_BK\testtoolctl.sql
del D:\MySQL_BK\bisystem.sql
del D:\MySQL_BK\nonnetworkburn.sql
D:
CD\
cd xampp\mysql\bin
mysqldump.exe -u root -pqwerty testtoolctl > D:\MySQL_BK\testtoolctl.sql
mysqldump.exe -u root -pqwerty bisystem > D:\MySQL_BK\bisystem.sql
mysqldump.exe -u root -pqwerty nonnetworkburn > D:\MySQL_BK\nonnetworkburn.sql
mysql -u root -h 192.168.1.2 -pqwerty < D:\Tool\Job\SyncDB.txt 

脚本文件SyncDB.txt

该脚本用于将本地数据库文件导入到远程Mysql服务器中,当然,导入之前,要在远程服务器上将数据库先建好。脚本中use是指向目标数据库,source是选定要导入的本地数据库文件。

use testtoolctl;
source D:\MySQL_BK\testtoolctl.sql
use bisystem;
source D:\MySQL_BK\bisystem.sql
use nonnetworkburn;
source D:\MySQL_BK\nonnetworkburn.sql
exit

定时同步我用的是OnTimer这个工具,然后将上面的批处理作为定时任务加载到OnTimer中。当然你也可以用系统的task schedule,但那玩意我用过,老是有问题停止运行。

OnTimer定时循环执行任务v1.3.4.0.zip-桌面系统文档类资源-CSDN下载OnTimer定时循环执行任务v1.3.4.0.zip更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/olTlo/75637471?utm_source=bbsseo

Linux MySQL定时同步

这是针对debain系统做的Mysql定时同步任务,其它linux系统应该也差不多。

shell脚本,保存为absDB_auto_backup.sh

#!/bin/bash
#########################
##
## for back up abs bb database use
## relaese by ice 2021-10-09
## for auto bake up master server bb database and import to slave server
## board factory ABS mysql master:192.168.0.15  slaver锛?92.168.0.16 
##
####crontable -e  //add 
# m h  dom mon dow   command
#  0 0/12 * * * sh /root/abs_auto_backup.sh
#########################

###step 1 get master DB info

T_now=`date +%Y-%m-%d`

if [ ! -d /home/abs_databaseBK ];then
  mkdir /home/abs_databaseBK
fi


if [ ! -d /home/abs_db_preBK ];then
   mkdir /home/abs_db_preBK
fi

rm /home/abs_db_preBK/db-bb*
mv /home/abs_databaseBK/db-bb* /home/abs_db_preBK/
rm /home/abs_databaseBK/db-bb*

echo "now `date` will auto backup DB" >> /home/abs_databaseBK/run.log
mysqldump -d -uroot -pmtd2013 bb > /home/abs_databaseBK/db-bb-sheet_${T_now}.sql
mysqldump -uroot -pmtd2013 bb > /home/abs_databaseBK/db-bb-all_${T_now}.sql

###step 2 import database to slave DB Server
sleep 3
echo "now `date` will auto backup DB to slaver server" >> /home/abs_databaseBK/run.log
mysql -u root -h 192.168.0.16 -pqwerty bb < /home/abs_databaseBK/db-bb-all_${T_now}.sql

设置定时任务

通过crontable 定时器实现自动执行,0点和12点自动执行:

Step 1:
    把脚本文件放到 /root/ 路径

Step 2
root@debian:~# crontab –e   //打开文件
可以看到 //把原来的关闭 如下
#
# m h  dom mon dow   command
#  0 0 * * 7 sh /root/abs_auto_backup.sh  

Step 3
  0 0/12 * * * sh /root/absDB_auto_backup.sh

Ctrl+x 退出。依据提示输入Y 保存即可

Ps: /home/abs_databaseBK/run.log 路径下有放记录log 文件,方便追踪
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只会搬运的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值