mysql数据库增量_mysql数据库增量同步
同步方法将如下脚本写入sync.sh文本文件中
需提前配置好源数据库与目标数据库的地址、用户名、密码、shema信息,及shema中的哪些table需同步
需提前在目标数据中建好相关的表,且表结构与源数据库相同
配置增量数据的本地下载地址
配置好增量更新的sql where条件子句,如”createDate >= ‘2016-07-01’”
从操作系统级别启动定时任务执行sync.sh
配置信息#!/bin/sh
# 远程数据库服务器信息(从此数据库下载数据)
remoteMysqlServer="远程数据库ip"
remoteMysqlUser="远程数据库用户名"
remoteMysqlPassword="远程数据库密码"
remoteMysqlDB="远程数据库表shema"
# 本地数据库服务器信息(将数据导入到此数据库)
localMysqlServer="本地数据库ip"
localMysqlUser="本地数据库用户名"
localMysqlPassword="本地数据库密码"
localMysqlDB="本地数据库schema"
# 数据下载目录
dataDownloadPath="/usr/local/data/download/"
# 处理哪些数据库表(注意,需提前在localMysql中建好相关的表,且表结构与remoteMysql相同)
array_name=(
table1 table2 table3 table4 table5
)
根据不同操作系统计算日期today=$(date +%Y%m%d)
case "$OSTYPE" in
linux*)
echo "LINUX"
deleteDay=$(date -d "-7 day" +%Y%m%d)
;;
darwin*)
echo "OSX"
deleteDay=$(date -v -7d +%Y%m%d)
;;
win*)
echo "Windows"
;;
cygwin*)
echo "Cygwin"
;;
bsd*)
echo "BSD"
;;
solaris*)
echo "SOLARIS"
;;
*)
echo "unknown: $OSTYPE"
;;
esac
下载远程数据到本地# 判断${dataDownloadPath}/$today目录是否存在
if [ ! -d "${dataDownloadPath}/${today}" ]; then
mkdir -p ${dataDownloadPath}/${today}
fi
echo "下载远程数据库到本地文件${dataDownloadPath}/${today}-----------------"
for i in ${array_name[@]}
do
echo " "正在下载远程数据库表 ${i} 的数据
# 获取本地数据库最新一条记录的时间
mysql -h ${localMysqlServer} -P3306 -u${localMysqlUser} -p${localMysqlPassword} --compress ${localMysqlDB} -e "select max(datatime) from ${i}" > ${dataDownloadPath}/${today}/tmp.txt
mysqldump -t -h ${remoteMysqlServer} -u${remoteMysqlUser} -p${remoteMysqlPassword} --single-transaction --compress ${remoteMysqlDB} ${i} --where="createDate > '`tail -1 ${dataDownloadPath}/${today}/tmp.txt`'">${dataDownloadPath}/${today}/${i}_${today}.sql
echo " "远程数据库表 ${i} 的增量数据下载成功
done
echo "-----------------------------------------------------------------"
将文件中的数据导入到本地数据库echo "从${dataDownloadPath}中提取数据,导入本地数据库中----------------------"
for i in ${array_name[@]}
do
echo " "即将从本地 ${dataDownloadPath}/${today}/${i}_${today}.sql 提取数据并导入到 ${i} 的数据库表
mysql -h ${localMysqlServer} -P3306 -u${localMysqlUser} -p${localMysqlPassword} ${localMysqlDB} -e "source ${dataDownloadPath}/${today}/${i}_${today}.sql"
echo " "成功导入数据到数据库表 ${i}
echo
echo
done
echo "-----------------------------------------------------------------"
echo
删除1周前的本地旧数据if [ -z "${deleteDay}" ]; then
echo "deleteDay is empty----------------------------------------------"
exit
fi
if [ -d "${deleteDay}" ]; then
echo "${deleteDay}文件夹即将删除-----------------------------------------"
rm -rf ${dataDownloadPath}/${deleteDay}/
echo "${deleteDay}文件夹删除成功-----------------------------------------"
fi
exit
mysql数据库增量_mysql数据库增量同步相关推荐
- mysql 本地备份_MYSQL数据库自动本地/异地双备份/MYSQL增量备份
构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...
- mysql binlog 备份_Mysql数据库的增量备份与还原
一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原. 二.备份需要考虑的问题 可以接受丢失多少数据: 恢复数据的时间要多久: 恢复数据时是否持续提供服务: 恢复的对象,是一个库,多个表,单个表,还 ...
- mysql case默认_MySQL数据库架构和同步复制流程
在分布式系统里面,往往制约整个系统发展的瓶颈点就是数据库,所以数据库的架构和高可用以及数据库的切分都是我们值得花大力气去学习的. 首先我们来说说数据库的架构. 1.mysql主从架构,如图: 这种架构 ...
- mysql增量_mysql实时增量备份
采用binlog日志的好处 掌控所有更改操作,必要时可用于恢复数据 数据库主从复制的必要条件 [linyouyi@localhost~]# vim /etc/my.cnf [mysqld] .. .. ...
- mysql组件下载_MySQL数据库组件(MyDAC)
MyDAC是一款功能强大,专业实用的MySQL数据库组件,软件不但可以直接进入到MySQL的数据服务器,而且软件还可以用于检测连接损耗和隐式重新某些操作局部故障转移.有需要的小伙伴欢迎来西西下载体验. ...
- mysql多源复制相同数据库名称_mysql数据库多源复制方案
概述 由于目前生产环境的mysql数据库分布在两台服务器,若从单一主从来看,配置很简单,但是需要将两台服务器的数据库同步到一台从库上面,需要进行更多配置和注意事项.多源复制有两种方案,Binlog+P ...
- mysql数据库套件_MySQL数据库管理开发套件(EMS SQL Management Studio For MySQL)下载 v1.3.0.46170 官方版 - 比克尔下载...
EMS SQL Management Studio For MySQL是一个强大的MySQL数据库管理和开发套件,由很多工具组成,涉及MySQL数据库管理.导入.导出.迁移.测试.备份.比较.同步等数 ...
- mysql 从库_mysql数据库主从配置
在一篇文章<离线安装mysql数据库>,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法.mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以 ...
- mysql数据库监控程序_mysql数据库监控利器lepus天兔工具安装和部署
需要的核心包如下: 以下软件包只需要部署在监控机即可.被监控机无需部署. 1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据) 2.Apache 2.2及以上 (必须,WEB服务器运行服务 ...
- 数据库 mysql详解_MySQL数据库详解
一.数据库概述 1.数据库与文件系统文件系统对比. 数据冗余和不一致性 数据访问 数据格式相对独立 数据完整性和原子性 数据的并发访问 数据的安全性问题 2.数据库概念 1.DBMS:数据库管理系统 ...
最新文章
- 项目ITP(五) spring4.0 整合 Quartz 实现任务调度
- cpu超频有什么坏处_电脑超频知多少,让电脑打鸡血,怎么搞定
- whereis命令查看你要添加的软件在哪里
- HTML引入vue.js,在ie浏览器中不显示
- spark eventLoop模型
- Java面向对象之静态属性静态方法、访问权限、getter与setter
- linux 临时文件 清理,Linux临时文件的清理
- 数据切分——MySql表分区概述
- DevOps使用教程 华为云(3)规划 用户故事地图 需求规划 功能规划 思维导图
- 博弈论笔记(0)—— 参考书籍及前置知识
- 转:一个情绪稳定的人背后,都是高情商和大格局
- 获取深户股市列表api_利用Tushare获取沪深股票数据与股票数据分析
- 1097: C语言程序设计教程(第三版)课后习题10.4
- cygwin安装JohnTheRipper 爬坑
- 微软sql服务器如何安装,Microsoft SQL Server 2012 数据库安装图解教程
- 试图执行的操作不受支持解决办法
- java项目疑难解答_Tivoli Kernel Services 疑难解答
- OpenSSL生成 SM2公私钥
- Jetson Nano安装ROS后cmake出现Project ‘cv_bridge‘ specifies ‘/usr/include/opencv‘ as an include dir
- 【C语言】函数指针(指向函数的指针)
热门文章
- Must specify unique android:id, android:tag, or have a parent with an id for 异常
- 使用css控制gridview控件的样式,GridView 样式美化及应用.doc
- BackgroundWorker的参数传递
- win10无法运行jre java_win10系统无法安装jre的解决方法
- 计算机一级考试wps教程视频教程,全国计算机等级考试一级WPS Office教程(2008年版)...
- 计算机考试盘安装空间,2021上半年计算机水平考试模拟盘 安装
- 《你是三月的小桨》光剑
- 前端面试题总汇、常考、笔试题等
- 信号完整性仿真设计——PCB工程师必修课
- python敲七游戏代码_敲七游戏数字表