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

GaussDB(for MySQL)主备版->CSS/ES

操作要求

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

类型名称

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

注意事项

  • 表2中的环境要求均不允许在同步过程中修改,直至同步结束。
  • 不支持外键级联操作。
  • 增量同步会过滤所有的DDL操作。
  • 不支持源数据库恢复到全量同步时间段范围内的PITR操作。
  • 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。

操作须知

  • 在任务启动、任务全量同步阶段,不建议对源数据库做DDL操作
  • 同步过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。
  • 增量同步过程中,若源库存在分布式事务,可能会导致同步失败。
  • 为了保持数据一致性,不允许对正在同步中的目标数据库进行修改操作(包括但不限于DDL操作)。
  • 增量同步阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。
  • 同步过程中,不允许源库写入binlog格式为statement的数据。
  • 同步过程中,不允许源库执行清除binlog的操作。
  • 选择表级对象同步时,增量同步过程中不支持对表进行重命名操作。
  • 同步过程中,不允许在源库创建库名为ib_logfile的数据库。
  • 建议将expire_log_day参数设置在合理的范围,确保恢复时断点处的binlog尚未过期,以保证服务中断后的顺利恢复。
  • binary的值会base64 加密后再写入目标库
  • datetime类型源库无时区到目标库则是用户指定的
  • 源库时间字段目标库不支持的范围统一转成null
  • 源库类型是binary类型会截断后面为0的字节,原因是源库是定长的自动补齐长度,目标库是变长类型。
  • 表字段名称全部转成小写。
  • 目标库数据_id如果指定源库多列生成需要用“:”分隔。
  • 选择同步对象时,单次选择的库表名称和列名称的大小不能超过4M。如果超过该限制,可以通过再编辑同步对象功能,分批增加同步对象。

环境要求

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

类型名称

使用限制(DRS自动检查)

数据库权限设置

全量+增量最小同步权限要求:

  • 源数据库帐户需要具备如下权限:

    SELECT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。

  • 目标数据库帐号必须拥有如下权限:

    READ、WRITE。

同步对象约束

  • 支持表数据的同步。
  • 不支持数据库、视图、索引、约束、函数、存储过程、触发器(TRIGGER)和事件(EVENT)的同步。
  • 不支持系统库的同步以及事件状态的同步。

源数据库要求

  • 源数据库中的库名不能包含:'<`>/\"以及非ASCII字符。
  • 源数据库中的表名不能包含:'<>/\"以及非ASCII字符。
  • 源数据库中的库名不允许为ib_logfile。
  • 源数据库的binlog日志必须打开,且binlog日志格式必须为Row格式。
  • 在磁盘空间允许的情况下,建议源数据库binlog保存时间越长越好,建议为3天。
  • 源数据库expire_logs_days参数值为0,可能会导致同步失败。
  • 增量同步时,必须设置源数据库的server_id。server_id的取值范围在1-4294967296之间。
  • 源数据库建议开启skip-name-resolve,减少连接超时的可能性。
  • 源数据库GTID状态建议为开启状态。
  • 源库不支持mysql binlog dump命令。
  • 源数据库和目标数据库字符集需保持一致,否则同步失败。
  • 源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。
  • 源数据库的binlog_row_image参数需设置为FULL,否则会导致同步失败。
  • 目前不支持参数lower_case_table_names等于0的同步。

目标数据库要求

  • 目标数据库实例的运行状态必须正常。
  • 目标数据库实例必须有足够的磁盘空间。
分享:

    相关文档

    相关产品

close