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

MySQL->Kafka

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

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

  • 基于以下原因,建议您结合定时启动功能,选择业务低峰期开始运行同步任务。
    • 同步无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。
    • 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。
    • 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。
  • 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。

操作要求

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

类型名称

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

注意事项

  • 表2中的环境要求均不允许在同步过程中修改,直至同步结束。
  • 相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。
  • 不支持外键级联操作。
  • 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。
  • 如果源库MySQL不支持TLS1.2协议,或者为版本较低的自建库(低于5.6.46或在5.7-5.7.28之间),需提交运维申请才能使用SSL测试连接。

操作须知

  • 同步程中,不允许删除和修改源库的用户名、密码、权限,或修改目标数据库的端口号。
  • 不支持强制清理binlog,否则会导致同步任务失败。
  • 当在同步过程中,对MyISAM表执行修改操作时,可能造成数据不一致。
  • 选择表级对象同步时,同步过程中不建议对表进行重命名操作。

环境要求

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

    类型名称

    使用限制(DRS自动检查)

    数据库权限设置

    • 源数据库帐户需要具备如下权限:SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT、RELOAD。

    同步对象约束

    • 支持表数据的同步。
    • 不支持非MyISAM和非InnoDB表的同步。

    源数据库要求

    • MySQL源数据库的binlog日志必须打开,且binlog日志格式必须为Row格式。
    • 在磁盘空间允许的情况下,建议源数据库binlog保存时间越长越好,建议为3天。
    • 源数据库expire_logs_days参数值为0,可能会导致同步失败。
    • 增量同步时,必须设置MySQL源数据库的server_id。如果源数据库版本小于或等于MySQL5.6,server_id的取值范围在2-4294967296之间;如果源数据库版本等于MySQL5.7,server_id的取值范围在1-4294967296之间。
    • 源数据库中的库、表名不能包含:'<`>/\以及非ASCII字符。

    目标数据库要求

    • 目标库为普通Kafka。
分享:

    相关文档

    相关产品

close