更新时间:2022-05-25 GMT+08:00
分享

GaussDB(for openGauss)分布式->MySQL

使用技巧(需要人为配合)

推荐提前2-3天启动任务,并配合如下使用技巧和操作要求,以确保任务稳定运行。

  • 基于以下原因,建议您结合定时启动功能,选择业务低峰期开始运行同步任务。
    • 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。
    • 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。
    • DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。
    • 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。
  • 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。

操作要求

针对一些无法预知或人为因素及环境突变导致同步失败的情况,数据复制服务提供以下常见的操作限制,供您在同步过程中参考。
表1 操作要求

类型名称

操作限制(需要人为配合)

注意事项

  • 表2中的环境要求均不允许在同步过程中修改,直至同步结束。
  • 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。
  • 一个同步任务只能对一个数据库进行数据同步,如果一个GaussDB(for openGauss)实例下有多个数据库需要同步,则需要为每个数据库创建实时同步任务。
  • 如果目标库MySQL不支持TLS1.2协议,或者为版本较低的自建库(低于5.6.46或在5.7-5.7.28之间),需提交运维申请才能使用SSL测试连接。

操作须知

  • 实时同步过程中,如果修改了源库的用户名、密码,连接断开后会导致同步任务失败,需要在数据复制服务控制台将上述信息重新修改正确,然后重试任务可继续进行实时同步。一般情况下不建议在同步过程中修改上述信息。
  • 实时同步过程中,如果修改了源库端口,会导致同步任务失败。一般情况下不建议在同步过程中修改端口。
  • 实时同步过程中,对于因修改IP地址导致同步任务失败的情况。一般情况下,不建议修改IP地址。
  • 实时同步过程中,受限于openGauss逻辑复制功能,不支持DDL语句的同步。一般情况下,不建议同步过程中进行DDL操作。
  • 实时同步过程中,受限于openGauss逻辑复制功能,不支持列存表、压缩表、非日志表数据同步。
  • 实时同步过程中,不保证分布式事务的一致性。
  • 表结构信息在源库中保存为大写,在同步时,如果目标库表名称与源库大小写不一致,需要手动添加对象名映射。
  • 该链路不支持SSL安全连接。

环境要求

实时同步对环境有一些特定的要求,请确保环境配置满足以下条件。该类型的要求系统会自动检查,并给出处理建议。
表2 环境要求

类型名称

使用限制(DRS自动检查)

数据库权限设置

  • 源数据库帐户需要具备如下角色:replication或sysadmin。

同步对象约束

  • 仅支持表数据的同步。
  • 不支持列存表、压缩表、非日志表、临时表数据同步。
  • 不支持DDL的同步。
  • 不支持无主键表的同步。
  • 支持的数据类型有INTEGER、BIGINT、SMALLINT、TINYINT、SERIAL、SMALLSERIAL、BIGSERIAL、FLOAT、DOUBLEPRECISION、DATE、TIME WITHOUT TIME ZONE、TIMESTAMP WITHOUT TIME ZONE、CHAR(n)、VARCHAR(n)、TEXT。

源数据库要求

  • GaussDB(for openGauss)源数据库日志模式(wal_level)必须为logical。
  • 源数据库中的库名不能包含:+%"<>'\以及非ASCII字符。
  • 源数据库中的表名不能包含:+%"<>'\以及非ASCII字符。

目标数据库要求

  • 目标库为自建MySQL数据库。
  • 同步前,需要在目标库提前创建表。
  • 目标中间件帐户需要具备以下基本权限:CREATE、DROP、ALTER、 INDEX、 INSERT、DELETE、 UPDATE、 SELECT, 同时必须具备扩展权限、全表Select权限。
分享:

    相关文档

    相关产品

close