2023-04-07 SDM-简单使用

news/2025/2/13 6:26:58/

目录

摘要:

文档参考:

启动DM的master和worker

master

配置 sdm-master1.tomal

启动命令:

worker

配置 sdm-worker1.toml

 启动命令:

配置上游数据库下游数据库和启动同步任务

配置上游数据库

配置 mysql-01.yaml

上游数据库要求:

将数据源加入

配置task

配置 testdm-task.yaml

配置说明:

启动同步任务

测试:

配置数据源和配置任务测试:

同步数据测试:


摘要:

SDM是一个数据同步工具,从源数据库同步到目标数据库. 使用起来倒是相当简单.

本文简单记录下

启动DM的master和worker

master

配置 sdm-master1.tomal

# Master Configuration.name = "master1"# 日志配置
log-level = "info"
log-file = "dm-master.log"# DM-master 监听地址
master-addr = "192.168.30.40:8261"# DM-master 节点的对等 URL
peer-urls = "192.168.30.40:8291"# 初始集群中所有 DM-master 的 advertise-peer-urls 的值
initial-cluster = "master1=http://192.168.30.40:8291"

启动命令:

./sdm-master --config=./sdm-master1.tomal &

worker

配置 sdm-worker1.toml

name = "worker1"log-level = "info"
log-file = "dm-worker.log"worker-addr = "192.168.30.40:8262"join = "192.168.30.40:8261"

 启动命令:

./sdm-worker --config=./sdm-worker1.tomal &

配置上游数据库下游数据库和启动同步任务

配置上游数据库

配置 mysql-01.yaml

source-id: "mysql-1"from:host: "127.0.0.1"user: "root"password: "mysql123" port: 3306

上游数据库要求:

  1. 不能配置 skip-grant-tables, 否则无法执行数据同步命令
  2. binlog格式必须为ROW, 无法无法使用binlog同步

[mysqld]binlog_format = ROW

将数据源加入

./sdmctl --master-addr=192.168.30.40:8261 operate-source create mysql-01.yaml

配置task

配置 testdm-task.yaml

name: test3
task-mode: alltarget-database:host: "192.168.64.19"port: 3306user: "root"password: "" # 如果密码不为空,则推荐使用经过 dmctl 加密的密文# 填写一个或多个所需同步的数据源信息
mysql-instances:- source-id: "mysql-1"block-allow-list:  "ba-rule1"block-allow-list:ba-rule1:do-dbs: ["test"]

配置说明:

  1. target-database 为要同步的目标数据库, 无明确要求
  2. source-id 必须与数据源的source-id一致
  3. do-dbs 为要同步的数据库, 实现创建

启动同步任务

./sdmctl --master-addr=192.168.30.40:8261 start-task testdm-task.yaml

测试:

配置数据源和配置任务测试:

    ./sdmctl --master-addr=192.168.30.40:8261 operate-source create mysql-01.yaml

    ./sdmctl --master-addr=192.168.30.40:8261 start-task testdm-task.yaml

    ./sdmctl --master-addr=192.168.30.40:8261 query-status test3

 

同步数据测试:

 

文档参考:

TiDB Data Migration 快速上手指南 | PingCAP 文档中心


http://www.ppmy.cn/news/40462.html

相关文章

easycaptcha图形验证码

参考地址:https://gitee.com/ele-admin/EasyCaptcha Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。 效果展示 验证码字符类型 类型描述TYPE_DEFAULT数字和字母混合TYPE_ONLY_NUMBER纯数字TYPE_ONLY_CHAR纯字母…

Python+Yolov5道路障碍物识别

PythonYolov5道路障碍物识别如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonYolov5道路障碍物识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与…

分批更新List数据

使用场景&#xff1a;因为数据量比较大导致批量更新的时候失败 int pageSize 5000; int totalSize rewardAmounts.size(); int totalPage totalSize / pageSize; if (pageSize > totalSize) { rewardAmountService.updateBatch(rew…

SpringBoot程序运行时动态修改主数据库配置(不需要改配置,不需要重启)

SpringBoot程序运行时修改主数据库配置&#xff08;不需要改配置&#xff0c;不需要重启&#xff09;搞事背景心路历程搞事背景 在面试某家单位的时候&#xff0c;碰到了一家单位线上考试&#xff0c;要求开发一个springboot后台。一眼看去都是正常的需求&#xff0c;突然我在…

知识科普:什么是AGI?

原文链接 最近ChatGPT大火&#xff0c;火到原来卖酒卖保险的人也都开始直播聊ChatGPT了&#xff0c;其中大家或多或少会提到一个词——AGI&#xff0c;看清楚不是GAI也不是AIGC&#xff0c;今天就和大家聊聊AGI是什么。 AGI最近经常被提到&#xff0c;主要是因为ChatGPT的开发公…

elasticsearch 其他字段类型详解和范例

本章主要内容 elasticsearch 中别名字段的详解和范例elasticsearch 中二进制类型的详解和范例elasticsearch 中的嵌套类型的详解和范例elasticsearch 中的范围类型的详解和范例elasticsearch 中的排名类型的详解和范例elasticsearch 中的ip类型的详解和范例elasticsearch 中的…

4.12~(小组成员对话预习)

注意我们这里观察的是XP的kernel32.dll&#xff0c;到win10是有变化的 看了这个函数&#xff0c;似乎是让BasepExeLdrEntry不存在的时候初始化一遍&#xff0c;然后进行对比是否已经加载过这个dll&#xff0c;那么如果加载下一个dll的时候&#xff0c;BasepExeLdrEntry是不是还…

Vitamin D PEG amine,VD-PEG-NH2,维生素D聚乙二醇氨基,可以保护蛋白免受蛋白水解

【中文名称】维生素D PEG 氨基&#xff0c;维生素D-聚乙二醇-氨基&#xff0c;氨基-聚乙二醇-维生素D 【英文名称】 Vitamin D PEG NH2&#xff0c;Vitamin D PEG amine&#xff0c;VD-PEG-NH2&#xff0c;VD-PEG-amine&#xff0c;NH2-PEG-Vitamin 【结 构 式】 【分子量】1k…