计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

将TiDB同步到TaurusDB

更新时间:2025-02-17 GMT+08:00

支持的源和目标数据库

表1 支持的数据库

源数据库

目标数据库

TiDB(4.0.0及以上版本,不包括dev版本)

TaurusDB企业版、标准版

数据库账号权限要求

在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。

表2 数据库账号权限

类型名称

全量+增量同步

源数据库连接账号

SELECT,CONFIG权限。

目标数据库连接账号

SELECT,CREATE,DROP,INSERT,DELETE,UPDATE,ALTER,REFERENCES,INDEX权限。

说明:
  • 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。
  • 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。

支持的同步对象范围

在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查

表3 支持的同步对象

类型名称

使用须知

同步对象范围

支持选中表的表结构、数据、约束和索引。

注意事项

为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考预检查项。除了预检查项目之外,您还需要注意的事情参见表4

表4 注意事项

类型名称

使用和操作限制

源数据库限制

  • 源库待同步对象的库名、表名不能包含:'<`>/\以及非ASCII字符。
  • 源库需要部署Pump和Drainer组件,具体操作请参考TiDB Binlog集群部署
  • 修改Drainer组件的配置文件,设置输出类型为Kafka,具体操作请参考配置 Kafka Drainer
  • 由于TIDB和TaurusDB的double类型的精度支持范围不一样,DRS不支持源库同步对象中的主键表以double类型的列作为主键列,不支持同步对象中的无主键表中含有double类型的列。如果以上场景中包含了double类型,可能会造成源库和目标库数据不一致。
注意:
  • TiDB Binlog 与 TiDB v5.0 版本开始引入的以下特性不兼容:

    TiDB 聚簇索引特性:开启 TiDB Binlog 后 TiDB 不允许创建非单个整数列作为主键的聚簇索引;已创建的聚簇索引表的数据插入、删除和更新动作不会通过 TiDB Binlog 同步到下游。如需同步聚簇索引表,请升级至 v5.1 版本。

    TiDB 系统变量 tidb_enable_async_commit:启用 TiDB Binlog 后,开启该选项无法获得性能提升。

    TiDB 系统变量 tidb_enable_1pc:启用 TiDB Binlog 后,开启该选项无法获得性能提升。

  • TiDB Binlog 与 TiDB v4.0.7 版本开始引入的以下特性不兼容:

    TiDB 系统变量 tidb_enable_amend_pessimistic_txn:两个功能存在兼容性问题,一起使用会造成 TiDB Binlog 复制数据不一致的正确性问题。

使用限制

通用:

  • 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。
  • 请勿在目标库做写入操作,否则可能导致数据不一致。
  • 为保证同步任务正常和数据的一致性,如有以上诉求,建议在业务低峰期时重新创建DRS任务。

全量同步阶段:

请勿在源库执行任何DDL,否则可能导致数据不一致或任务失败。

增量同步阶段:

  • 支持部分DML(Data Manipulation Language):包括INSERT、UPDATE、DELETE。
  • 支持部分DDL(Data Definition Language):包括CREATE TABLE、DROP TABLE、ALTER TABLE、RENAME TABLE、TRUNCATE TABLE。

同步对比阶段:

  • 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。
  • 在增量同步过程中做对比时,源库如果存在写入,则对比结果可能不一致。
  • 不支持在全量同步过程中做对比。
  • 不支持数据对比过程中做限速。

常见故障排查:

  • 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。

其他限制

  • 目标数据库参数lower_case_table_names等于1时,不允许同步包含大写字母的库或者表。
  • 选择全量+增量同步,如果目标库已经存在表结构,需要保证与源端一致或包含源端的列。
  • 支持目标数据库中的表比源数据库多列场景,但是需要避免以下场景可能导致的任务失败。
    • 目标端多的列要求非空且没有默认值,源端insert数据,同步到目标端后多的列为null,不符合目标端要求。
    • 目标端多的列设置固定默认值,且有唯一约束。源端insert多条数据后,同步到目标端后多的列为固定默认值,不符合目标端要求。
  • 目标库已启用的触发器不可以与同步表关联。
  • 增量同步支持任务再编辑追加同步对象。
  • 在创建DRS任务之前,如果目标数据库实例开启并设置了SQL限流规则,可能会导致DRS任务失败。
  • 如果目标库开启过多租特性,不支持同步含有@符的库。

操作步骤

本小节以TiDB->TaurusDB的入云同步为示例,介绍如何使用数据复制服务配置公网网络场景下的实时同步任务。

  1. 在“实时同步管理”页面,单击“创建同步任务”。
  2. 在“同步实例”页面,填选区域、项目、任务名称、描述、同步实例信息,单击“开始创建”

    • 任务信息
      图1 同步任务信息
      表5 任务和描述

      参数

      描述

      区域

      当前所在区域,可进行切换。

      项目

      当前区域对应的项目,可进行切换。

      任务名称

      任务名称在4到50位之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。

      描述

      描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。

    • 同步实例信息
      图2 同步实例信息
      表6 同步实例信息

      参数

      描述

      数据流动方向

      选择“入云”

      源数据库引擎

      选择“TiDB”

      目标数据库引擎

      选择TaurusDB

      网络类型

      此处以“公网网络”为示例,可选“公网网络”“VPN、专线网络”

      • 公网网络:适合通过公网网络把其他云下或其他平台的数据库同步到目标数据库,该类型要求数据库绑定弹性公网IP(EIP)。
      • VPN、专线网络:适合VPN、专线、CC、VPCEP、或者用户已打通VPC对等连接的网络场景,实现其他云下自建数据库与云上数据库同步、或云上跨Region的数据库之间的同步。

      目标数据库实例

      目标数据库为TaurusDB实例。

      同步实例所在子网

      请选择同步实例所在的子网。也可以单击“查看子网”,跳转至“网络控制台”查看实例所在子网帮助选择。

      默认值为当前所选数据库实例所在子网,请选择有可用IP地址的子网。为确保同步实例创建成功,仅显示已经开启DHCP的子网。

      同步模式

      DRS任务支持的同步模式,此处以“全量+增量”为示例。DRS全量、增量底层实现原理可参考产品架构和功能原理

      • 全量+增量:

        该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。

      指定公网IP

      网络类型选择“公网网络”时可见,选择为DRS实例绑定的弹性公网IP。任务创建时,DRS将会自动绑定该弹性公网IP,等待任务结束后将自动解绑该弹性公网IP。指定公网IP数量需要与实例数量匹配。

      公网网络迁移产生的数据传输费用收取标准请参见:弹性公网IP价格计算器

    • 可用区
      图3 可用区
      表7 任务可用区

      参数

      描述

      可用区

      DRS任务创建的可用区,选择跟源或目标库相同的可用区性能更优。

    • 企业项目和标签
      图4 企业项目和标签

      表8 企业项目和标签

      参数

      描述

      企业项目

      企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。请在下拉框中选择所在的企业项目,其中,default为默认项目。

      更多关于企业项目的信息,请参见《企业管理用户指南》

      如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目管理”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。

      标签

      • 可选配置,对同步任务的标识。使用标签可方便管理您的任务。每个任务最多支持20个标签配额。
      • 如果您的组织已经设定DRS的相关标签策略,则需按照标签策略规则为任务添加标签。标签如果不符合标签策略的规则,则可能会导致任务创建失败,请联系组织管理员了解标签策略详情。
      • 任务创建成功后,您可以单击任务名称,在“标签”页签下查看对应标签。关于标签的详细操作,请参见标签管理
    说明:

    对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。

  3. 在“源库及目标库”页面,同步实例创建成功后,填写源库信息、Kafka信息和目标库信息,单击“源库、Kafka和目标库”处的“测试连接”,分别测试并确定与源库、Kafka和目标库连通后,勾选协议,单击“下一步”

    测试连接时需要确保DRS任务与源库、目标库的连通性。

    • 网络连通性:确保源库和目标库允许DRS访问,通常至少需要放通DRS的IP。公网网络的DRS任务放通DRS的公网IP,VPC网络、VPN、专线网络的DRS任务放通DRS的内网IP,可参考网络准备章节进行网络打通。
    • 账号连通性:确保源库和目标库允许DRS通过用户名和密码访问。
    图5 源库信息

    表9 源库信息

    参数

    描述

    IP地址或域名

    源数据库TiDB的IP地址或域名。

    端口

    源数据库TiDB服务端口,可输入范围为1~65535间的整数,默认为4000。

    数据库用户名

    源数据库TiDB的用户名。

    数据库密码

    源数据库TiDB的用户名所对应的密码。

    SSL安全连接

    通过该功能,用户可以选择是否开启对同步链路的加密。如果开启该功能,需要用户上传SSL CA根证书。

    说明:
    • 最大支持上传500KB的证书文件。
    • 如果不启用SSL安全连接,请自行承担数据安全风险。
    图6 Kafka信息

    表10 Kafka信息

    参数

    描述

    IP地址或域名

    Kafka的IP地址或域名。DRS从Kafka中获取TiDB产生的Binlog数据,然后将对应的增量更新实时同步至到目标库中

    图7 目标库信息

    表11 目标库信息

    参数

    描述

    数据库实例名称

    默认为创建任务时选择的TaurusDB实例,不可进行修改。

    数据库用户名

    目标数据库的用户名。

    数据库密码

    目标数据库的用户名所对应的密码。

    说明:

    源和目标数据库用户名和密码将在同步过程中被加密暂存到数据库和同步实例主机上,待该任务删除后会永久清除。

  4. “设置同步”页面,选择同步策略、Topic和同步对象,单击“下一步”

    图8 设置同步

    表12 同步对象

    参数

    描述

    流速模式

    流速模式支持限速和不限速,默认为不限速。限速模式只对全量阶段生效,增量阶段不生效。

    • 限速

      自定义的最大同步速度,全量同步过程中每个任务(多任务时为每个子任务)的同步速度将不会超过该速度。

      当流速模式选择了“限速”时,您需要通过流速设置来定时控制同步速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为“全天限流”,您也可以根据业务需求选择“时段限流”。自定义的时段限流支持最多设置10个定时任务,每个定时任务之间不能存在交叉的时间段,未设定在限速时间段的时间默认为不限速。

      流速的大小需要根据业务场景来设置,不能超过9999MB/s。

      图9 设置流速模式
    • 不限速
      对同步速度不进行限制,通常会最大化使用源数据库的出口带宽。该流速模式同时会对源数据库造成读消耗,消耗取决于源数据库的出口带宽。比如源数据库的出口带宽为100MB/s,假设高速模式使用了80%带宽,则同步对源数据库将造成80MB/s的读操作IO消耗。
      说明:
      • 限速模式只对全量阶段生效,增量阶段不生效。
      • 您也可以在创建任务后修改流速模式。具体方法请参见修改流速模式

    增量阶段冲突策略

    该冲突策略特指增量同步中的冲突处理策略,全量阶段的冲突默认忽略。冲突策略目前支持如下形式:

    • 忽略

      当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),将跳过冲突数据,继续进行后续同步。选择忽略可能导致源库与目标库数据不一致。

    • 覆盖

      当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),将覆盖原来的冲突数据。

    DML同步

    选择需要同步的DML操作,默认都勾选。

    不勾选Delete则不会同步源库增量数据中的Delete语句,可能会导致数据不一致,因此存在数据冲突或任务失败的风险。

    Topic

    请选择Kafka中存放TiDB binlog的Topic,否则将同步失败。

    同步对象

    左侧框是源数据库对象,右侧框是已经选择的对象,同步对象支持表级同步、库级同步,您可以根据业务场景选择对应的数据进行同步。

    在同步对象右侧已选对象框中,可以使用对象名映射功能进行源数据库和目标数据库中的同步对象映射,具体操作可参考对象名修改(对象名映射)

    使用非字母、非数字、非下划线等字符作为库表名称,或库表映射后名称包含中划线、井号时,名称的长度请不要超过42个字符。

    说明:
    • 选择对象的时候支持对展开的库进行搜索,以便您快速选择需要的数据库对象。
    • 如果有切换源数据库的操作或源库同步对象变化的情况,请在选择同步对象前单击右上角的,以确保待选择的对象为最新源数据库对象。
    • 当对象名称包含空格时,名称前后的空格不显示,中间如有多个空格只显示一个空格。
    • 选择的同步对象名称中不能包含空格。

  5. “预检查”页面,进行同步任务预校验,校验是否可进行。

    • 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。

      预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。

    • 预检查完成后,且所有检查项结果均通过时,单击“下一步”
      说明:

      所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。

  6. “任务确认”页面,设置同步任务的启动时间、任务异常通知设置、SMN主题、时延阈值、任务异常自动结束时间,并确认同步任务信息无误后,勾选协议,单击“启动任务”,提交同步任务。

    图10 任务启动设置

    表13 任务启动设置

    参数

    描述

    启动时间

    同步任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。

    说明:

    预计同步任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置同步任务的启动时间。

    任务异常通知设置

    该项为可选参数,开启之后,选择对应的SMN主题。当同步任务状态、时延指标或数据异常时,系统将发送通知。

    SMN主题

    “任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。

    SMN主题申请和订阅可参考《消息通知服务用户指南》

    时延阈值

    在增量同步阶段,源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。

    时延阈值设置是指时延超过一定的值后(时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。

    说明:
    • 当时延阈值设置为0时,不会发送通知给收件人。
    • 首次进入增量同步阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。
    • 设置时延阈值之前,需要设置任务异常通知。

    数据异常通知

    该项为可选参数,开启之后,当同步任务数据异常时,系统将发送通知。

    任务异常自动结束时间(天)

    设置任务异常自动结束天数,输入值必须在14到100之间,默认值14。

    说明:
    • 仅按需计费任务支持设置任务异常自动结束时间,包年/包月任务不支持。
    • 异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必要的费用。

  7. 同步任务提交后,您可在“实时同步管理”页面,查看并管理自己的任务

    • 您可查看任务提交后的状态,状态请参见任务状态说明
    • 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
    • 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源,此时DRS任务IP会发生改变。
    • 对于公网网络类型的任务,由于DRS需要在任务结束后删除后台资源,所以该任务绑定的弹性公网IP需要等待一段时间,才能恢复为解绑状态。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容