首页 > 数据库 >DataX在Windows上实现Mysql到Mysql同步数据以及配置多个job/多个表同步定时执行bat

DataX在Windows上实现Mysql到Mysql同步数据以及配置多个job/多个表同步定时执行bat

时间:2023-06-15 10:33:30浏览次数:48  
标签:同步 多个 Mysql job json 表名 id

场景

DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130330353

DataX-在Windows上实现postgresql同步数据到mysql:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130410056

在上面的基础上如何进行多个Mysql到Mysql之间的数据同步。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

多个数据同步job就新建多个json文件,每个json文件中执行一次的job

比如第一个同步的json文件内容:

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": [
      "id",
      "location_number",
      "car_num",
      ],
                        "connection": [
                            {
                                "jdbcUrl": [
        "jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=gbk"
        ],
                                "table": [
        "表名"
        ]
                            }
                        ],
                        "password": "密码",
                        "username": "用户名",
                        "where": ""
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": [
      "id",
      "location_number",
      "car_num",
      ],
                        "connection": [
                            {
                                "jdbcUrl":"jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=gbk",
                                "table": [
        "表名"
        ]
                            }
                        ],
                        "password": "密码",
                        "preSql": [
      "delete from 表名"
      ],
                        "session": [],
                        "username": "用户名",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "5"
            }
        }
    }
}

注意将数据库地址、名称、表名、列名、用户名、密码等改成自己对应。

然后再新建第二个数据同步的json文件

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": [
      "station_id",
      "station_number",
      "group_id",
      "mine_id",
      ],
                        "connection": [
                            {
                                "jdbcUrl": [
        "jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=gbk"
        ],
                                "table": [
        "表名"
        ]
                            }
                        ],
                        "password": "密码",
                        "username": "用户名",
                        "where": ""
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": [
      "station_id",
      "station_number",
      "group_id",
      "mine_id",
      ],
                        "connection": [
                            {
                                "jdbcUrl":"jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=gbk",
                                "table": [
        "表名"
        ]
                            }
                        ],
                        "password": "密码",
                        "preSql": [
      "delete from 表名"
      ],
                        "session": [],
                        "username": "root",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "5"
            }
        }
    }
}

将此两个json文件放在datax的bin目录下

并在此目录下新建bat文件

#设置编码
chcp 65001
@echo off
title "自定义标题"
set INTERVAL=3600
timeout %INTERVAL%
 
:Again

python datax.py  ./busCarInfoViewMysql2Mysql.json

ping 127.0.0.1 -n 5

python datax.py  ./tBaseStationMysql2Mysql.json

echo %date% %time:~0,8%
 
timeout %INTERVAL%
 
goto Again

这里的3600就代表每3600秒执行一次。

ping 127.0.0.1 -n 5 目的是为了中间停顿5秒。

 

标签:同步,多个,Mysql,job,json,表名,id
From: https://www.cnblogs.com/badaoliumangqizhi/p/17482211.html

相关文章

  • WT3211同步升压大电流芯片
       WT3211是一款高性能同步升压控制器,输入3V至32V输出外置MOS可驱动N沟道MOSFET。同步整流可提升效率,降低功率损耗并降低热要求。WT3211包括可调电流限制、可调软启动、可调补偿网和热关机,防止各种异常造成的损坏。对于不同的应用需求,我们可以选择合适的补偿网、电流限制、......
  • 解决MySQL8.0报错:Unknown system variable 'validate_password_policy'
    解决MySQL8.0报错:Unknownsystemvariable'validate_password_policy'解决MySQL8.0报错:Unknownsystemvariable'validate_password_policy'一、问题描述1.通过yum安装好mysql8.0,通过生成的临时密码登录后操作mysql时会报如下错误:mysql>showdatabases;ERROR1820......
  • CentOS yum升级MySQL 5.6到5.7.42
    注意:升级前一定要做好备份升级前请将mysql5.6小版本升级到最高升级时可将my.cnf配置文件备份,保留最基本的配置,避免因配置问题造成异常,升级完成后在逐步还原安装mysql5.7yum源如果之前已经安装了5.6的yum源,需要先卸载后在安装rpm-Uvhhttps://dev.mysql.com/get/mysql......
  • SpringBoot+druid+dynamic+clickhouse+mysql实现读写分离
    背景:clickhouse+mysql实现读写分离1.配置mysql2.安装clickhouse3.使用可视化工具连接clickhouse4.创建clickhouse的数据库并连接mysql5.SpringBoot+druid+dynamic配置多数据源实现读写分离一.背景由于系统数据量过大,查询条件自定义过多,mysql在查询时响应太慢,所以使用cli......
  • Postgresql中的表结构和数据同步/数据传输到Mysql
    场景Postgresql中的某个表,需要连同表结构以及表数据同步一次到Mysql数据库中。一种方式是在Postgresql中将表sql导出,然后修改sql文件语法,再导入到mysql中。但是这种方式过于复杂,可以借助于Navicat等工具。如果是使用Navicat进行结构同步和数据同步时,需要两边是同类型的数据库......
  • Mysql查看连接数(连接总数、活跃数、最大并发数)
    查看最大连接数mysql>showvariableslike'%max_connection%';+-----------------------+-------+|Variable_name|Value|+-----------------------+-------+|extra_max_connections|||max_connections|2512|+----------------......
  • 在 Istio 服务网格内连接外部 MySQL 数据库
    为了方便理解,以Istio官方提供的Bookinfo应用示例为例,利用ratings服务外部MySQL数据库。Bookinfo应用的架构图如下:其中,包含四个单独的微服务:productpage:调用details和reviews两个服务,用来生成页面。details:包含了书籍的信息。reviews:包含了书籍相关的评论。它还......
  • JUC同步锁原理源码解析一 之ReentrantLock
    JUC同步锁原理1.锁的本质1.什么是锁?​ 通俗来讲,锁要保证的就是原子性,就是一个代码块不允许多线程同时执行,就是锁。从生活的角度上来说,就比如你要去上厕所,当你在上厕所期间,你会把门锁上,其他人只能排队。不允许多个人同时上厕所。2.锁的底层实现​ java语言是运行在jvm之上,jvm......
  • MySQL8新特性窗口函数详解
    本文博主给大家详细讲解一波MySQL8的新特性:窗口函数,相信大伙看完一定能有所收获......
  • m基于MPC模型预测控制算法的永磁直线同步电机控制系统simulink仿真,MPC分别使用工具箱
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要MPC(ModelPredictiveControl)模型预测控制算法是一种先进的控制算法,能够有效地解决非线性、多变量、约束条件等复杂系统的控制问题。永磁直线同步电机是一种高性能、高效率的电机,广泛应用于机器人、医疗设备、工业......