• 沒有找到結果。

MySQL->GaussDB(for openGauss)分布式

4.2 入云同步使用须知

4.2.3 MySQL->GaussDB(for openGauss)分布式

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

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

● 基于以下原因,建议您结合定时启动功能,选择业务低峰期开始运行同步任务。

– 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,

以及占用2~4个CPU。

– DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数

● 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建 同步任务。

● 数据类型不兼容时,可能引起同步失败。

● 源库表同步至目标库后分布方式为哈希分布,暂不支持复制分 布。

● 源库为RDS for MySQL实例时,不支持带有TDE特性并建立具有 加密功能表。

● 如果源库MySQL不支持TLS1.2协议,或者为版本较低的自建库

(低于5.6.46或在5.7-5.7.28之间),需提交运维申请才能使用 SSL测试连接。

● 支持目标数据库中的表比源数据库多列场景,但是需要避免以下 场景可能导致的任务失败。

– 目标端多的列要求非空且没有默认值,源端insert数据,同步 到目标端后多的列为null,不符合目标端要求。

– 目标端多的列设置固定默认值,且有唯一约束。源端insert多 条数据后,同步到目标端后多的列为固定默认值,不符合目标 端要求。

类型名称 操作限制(需要人为配合)

操作须知 ● 源库和目标库均相同的任务不允许出现重复同步的情况,如:A 任务和B任务同时将源库的同一张表的实时同步到目标库的同一张 表中,可能导致数据不一致和同步失败。

● 增量同步过程中,不允许修改、删除连接源和目标数据库的用户 的用户名、密码、权限,或修改源和目标数据库的端口号。

● 增量同步过程中,不支持源库DDL的复制。

● 增量同步场景下,不支持源数据库进行恢复操作。

● 任务启动、任务全量同步阶段,不建议做删除类型的DDL操作,

可能会引起任务失败。

● 不支持同步无主键表,若选择同步的表中存在无主键表,则同步 失败。

● 不支持两阶段事务。

● 不支持暂停正在进行的同步任务。

● 不支持对同步结果进行数据对比。

● 不支持数据加工。

环境要求

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

4-6 环境要求

类型名称 使用限制(DRS自动检查)

数据库权限

设置 ● 源物理分片数据库帐户需要具备如下权限:SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、

REPLICATION CLIENT。

● 提供的目标库GaussDB(for openGauss)账户需要具备如下权限:

1. database权限要求:

需要具备database的create、connect权限。

授权语句:grant create,connect on database <database> to

<user>;

2. schema权限要求:

需要具备schema的create、usage权限。

授权语句:grant create,usage on schema <schema}> to

<user>;

3. table权限要求:

需要具备schema下所有table的DML权限。可使用以下两种方 式授权:

方式一:

给schema下所有table授权:grant

select,update,insert,delete on all tables in schema

<schema> to <user>;

方式二:

给schema下的指定table授权:grant

select,update,insert,delete on table <schema.table> to

<user>;

同步对象约

束 ● 仅支持同步表,不支持同步存储过程等其他数据库对象。

● 仅支持同步有主键表,不支持同步无主键表。

● 增量同步不支持同步DDL。

● 不支持同步MySQL含虚拟列的表。

● 不支持的数据类型有:xml、geometry、point、lineString、

polygon、geometrycollection、multipoint、multilinestring、

multipolygon。

● 不支持非MyISAM和非InnoDB表的同步。

源数据库要

求 ● 源物理分片数据库的binlog日志必须打开,且binlog日志格式必 须为Row格式。

● 在磁盘空间允许的情况下,binlog保存时间越长越好,建议为3 天。

● 源数据库expire_logs_days参数值为0,可能会导致同步失败。

● 增量同步时,必须设置MySQL源数据库的server_id。

MySQL5.7,server_id的取值范围在1-4294967296之间。

● 源数据库中的库名、表名不能包含:.<'>`/\"以及非ASCII字符。

类型名称 使用限制(DRS自动检查)

目标数据库

要求 ● 目标数据库实例的运行状态必须正常。

● 目标数据库实例必须有足够的磁盘空间。

● 目标数据库的时区设置必须与源数据库一致。

● 任务配置的映射数据库必须在目标库已经存在。

● 目标库连接用户需要有指定database的CREATE、CONNECT、

TEMPORARY权限。

● 如果同步的模式和表在目标库已存在,要求模式和表的OWNER 必须是目标库连接用户。