4.3 出云同步使用须知
4.3.3 MySQL->CSS/ES
使用技巧(需要人为配合)
推荐提前2-3天启动任务,并配合如下使用技巧和操作要求,以确保任务稳定运行。
● 基于以下原因,建议您结合定时启动功能,选择业务低峰期开始运行同步任务。
– 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,
以及占用2~4个CPU。
– 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。
– DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数 对业务的影响。
表4-46 操作要求
● 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建 同步任务。
● 源库为RDS for MySQL实例时,不支持带有TDE特性并建立具有 加密功能表。 改操作(包括但不限于DDL操作)。
● 增量同步阶段,支持断点续传功能,在主机系统崩溃的情况下,
对于非事务性的无主键的表可能会出现重复插入数据的情况。
● 同步过程中,不允许源库写入binlog格式为statement的数据。
● 同步过程中,不允许源库执行清除binlog的操作。
● 选择表级对象同步时,增量同步过程中不支持对表进行重命名操 作。
● 同步过程中,不允许在源库创建库名为ib_logfile的数据库。
● 建议将expire_log_day参数设置在合理的范围,确保恢复时断点 处的binlog尚未过期,以保证服务中断后的顺利恢复。
● binary的值会base64 加密后再写入目标库。
● datetime类型源库无时区到目标库则是用户指定的。
● 源库时间字段目标库不支持的范围统一转成null。
● 源库类型是binary类型会截断后面为0的字节,原因是源库是定长 的自动补齐长度,目标库是变长类型。
表4-47 环境要求
类型名称 使用限制(DRS自动检查)
数据库权限
设置 全量+增量最小同步权限要求:
● 源数据库帐户需要具备如下权限:
SELECT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。
● 目标数据库帐号必须拥有如下权限:
READ、WRITE。
同步对象约
束 ● 支持表数据的同步。
● 不支持数据库、视图、索引、约束、函数、存储过程、触发器
(TRIGGER)和事件(EVENT)的同步。
● 不支持系统库的同步以及事件状态的同步。
源数据库要
求 ● 源数据库中的库名不能包含:'<`>/\"以及非ASCII字符。
● 源数据库中的表名不能包含:'<>/\"以及非ASCII字符。
● 源数据库中的库名不允许为ib_logfile。
● 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之间。
● MySQL源数据库建议开启skip-name-resolve,减少连接超时的 可能性。
● 源数据库GTID状态建议为开启状态。
● 源库不支持mysql binlog dump命令。
● 源数据库和目标数据库字符集需保持一致,否则同步失败。
● 源数据库log_slave_updates参数需设置为开启状态,否则会导致 同步失败。
● 源数据库的binlog_row_image参数需设置为FULL,否则会导致 同步失败。
● 源数据库MySQL8.0目前不支持参数lower_case_table_names等 于0的同步。
目标数据库
要求 ● 目标数据库实例的运行状态必须正常。
● 目标数据库实例必须有足够的磁盘空间。