大数据智能体工作台 DataBuddy TDSQL-C MySQL 数据源

TDSQL-C MySQL 是腾讯云自研的云原生关系型数据库,兼容 MySQL,提供高吞吐与海量分布式存储。DataBuddy 数据接入支持将 TDSQL-C MySQL 作为来源端进行实时同步与离线同步。这里说明其连接配置、能力支持范围与常。

相关产品
大数据智能体工作台 DataBuddy 产品页,含版本规格、价格与购买入口。

二、支持的版本

类型 支持版本
TDSQL-C MySQL 5.7、8.0

三、读取能力

能力 支持情况 说明
离线同步(读 / 写) ✓ / – 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入
实时同步(读 / 写) ✓ / – 支持作为实时同步任务的源端读取整库数据变更;DataBuddy 数据源仅支持接入读取,不支持写入
分库分表同步(读 / 写) ✓ / – 支持以分库分表方式读取多个分表数据;DataBuddy 数据源仅支持接入读取,不支持写入

完整数据源能力对照参见 支持的数据源与读取能力。

五、实时同步限制

限制项 说明
Binlog 格式 仅支持 ROW
binlog_row_image 必须设置为 FULL
Binlog 保留时间 建议至少保留 72 小时
无主键表 无主键表无法保证 exactly-once 语义
XA 事务 不支持 XA ROLLBACK
只读备库 不支持读取(存在稳定性与兼容性问题)
存储过程、物化视图 不支持读取
SET 类型 实时同步不支持

六、离线同步限制

限制项 说明
分表同步并发 多表同步切分单表时,任务并发数需大于表个数
存储过程 不支持读取

七、支持的字段类型

完整字段类型请参见 MySQL 产品文档。

字段类型 离线读 实时读
TINYINT / TINYINT UNSIGNED ✅ ✅
SMALLINT / MEDIUMINT / INT / BIGINT(含 UNSIGNED) ✅ ✅
FLOAT / DOUBLE / DECIMAL / NUMERIC ✅ ✅
REAL ✅ ✅
CHAR / VARCHAR / TEXT 系列 ✅ ✅
JSON ✅ ✅
BINARY / VARBINARY / BLOB 系列 ✅ ✅
DATE / TIME / DATETIME / TIMESTAMP / YEAR ✅ ✅
BIT / BOOL / BOOLEAN / ENUM ✅ ✅
SET ✅ ❌
GEOMETRY / POINT ✅ ✅
LINESTRING / POLYGON / MULTIPOINT 等空间类型 ✅ ❌

TINYINT(1) 默认映射为 BOOLEAN,可在高级设置中改为 TINYINT。

八、字段类型映射(离线同步)

同步时源端字段类型会转换为 DataBuddy 内部类型(同步链路中的中间类型)。配置任务前请重点核对「备注」列标注的类型,避免精度丢失或语义变化。

源端类型 DataBuddy 内部类型 备注
BIT / BOOL / BOOLEAN Boolean BIT(n) 默认按布尔值读取;开启 useBitPrecision 且精度大于 1 时按 Bytes 读取
TINYINT(1) Boolean MySQL JDBC 驱动默认将 TINYINT(1) 按 BIT 处理(tinyInt1isBit=true),读取为 true / false;如需按数值读取,请在 JDBC URL 中追加 tinyInt1isBit=false
TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT(含 UNSIGNED) Long 按字符串读取后转为 Long;BIGINT UNSIGNED 超过 Long 取值上限时会读取失败
DECIMAL / NUMERIC Double 转为双精度浮点数,超出精度范围会丢失小数精度;对精度敏感的场景建议在目标端改用 Decimal 或字符串类型
FLOAT / REAL / DOUBLE Double 遵循 IEEE 754 浮点精度
CHAR / VARCHAR / TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT String –
ENUM / SET String 按枚举值文本读取
JSON String 按文本读取,不做结构化解析
DATE Date 精确到日
DATETIME / TIMESTAMP Date –
TIME Date 超出 JDBC 时间范围的值(如 838:59:59)按 String 读取
YEAR Long 按年份数值读取
BINARY / VARBINARY / TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB Bytes 不做内容解析
GEOMETRY / POINT / LINESTRING / POLYGON 等空间类型 Bytes 或 String 不解析几何语义,建议先在源端转换为字符串
上表未列出的其他类型 – 任务报错并提示不支持的字段类型

九、字段类型映射(实时同步)

实时同步(整库多表 / 分库分表)由 CDC 连接器解析源端类型并写入 TCLake。下表为自动建表时目标表实际使用的字段类型 ,配置任务前请重点核对「备注」列标注的类型。

源端类型 TCLake 目标类型 备注
TINYINT / TINYINT UNSIGNED / SMALLINT(含 UNSIGNED)/ MEDIUMINT(含 UNSIGNED)/ INT / INTEGER INTEGER ZEROFILL 与对应 UNSIGNED 版本映射相同
TINYINT(1) BOOLEAN 或 INTEGER 取决于参数 oceanus.tinyint1-is-bit:为 true 时映射 BOOLEAN,否则映射 INTEGER
INT UNSIGNED / INTEGER UNSIGNED / BIGINT LONG –
BIGINT UNSIGNED / SERIAL DECIMAL(20, 0) 取值超出 BIGINT 上限,改用十进制承载
DECIMAL / NUMERIC / FIXED(精度 ≤ 38) DECIMAL(P, S) 精度与标度保留
FLOAT(无精度) FLOAT –
FLOAT(有精度)/ FLOAT UNSIGNED / DOUBLE / DOUBLE PRECISION / REAL(含 UNSIGNED、ZEROFILL) DOUBLE 带精度的 FLOAT 落 DOUBLE,与无精度不同
BIT(n) BINARY 按位串读取,如 0101100011
DATE DATE –
DATETIME / DATETIME(n) TIMESTAMP 不带时区
TIMESTAMP / TIMESTAMP(n) TIMESTAMPTZ 带时区语义,与 DATETIME 落点不同
TIME STRING 不落时间类型
YEAR INTEGER –
CHAR / VARCHAR / TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT STRING –
ENUM / JSON STRING 按文本读取,不解析结构
BINARY(n) BINARY –
VARBINARY(n) / TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB STRING 二进制按字符串承载,与 BINARY(n) 落点不同
GEOMETRY / POINT STRING 不解析几何语义

注意:说明:

十一、DML

操作 是否支持
INSERT / DELETE / UPDATE ✅

十二、DDL

操作 是否支持 支持的语法示例
新增列(ADD COLUMN) ✅ ALTER TABLE t ADD col TYPE [FIRST | AFTER col]
删除列(DROP COLUMN) ✅ ALTER TABLE t DROP [COLUMN] col
重命名列(RENAME / CHANGE COLUMN) ✅ ALTER TABLE t CHANGE old new TYPE
修改列类型(MODIFY COLUMN) ✅ ALTER TABLE t MODIFY col TYPE
新增表(CREATE TABLE) ✅ 不支持 CHECK、Temporary Table
重命名表 / 删除表 / 清空表 ❌ –

DDL 变更响应仅在增量阶段 生效;删除表、重命名表等高危操作目标端通常不支持自动响应。

十四、1. 配置账号权限

离线同步 :

CREATE USER 'wedata_user'@'%' IDENTIFIED BY 'your_password';GRANT SELECT ON your_database.* TO 'wedata_user'@'%';FLUSH PRIVILEGES;

实时同步 :

CREATE USER 'wedata_cdc_user'@'%' IDENTIFIED BY 'your_password';GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'wedata_cdc_user'@'%';FLUSH PRIVILEGES;

启用 scan.incremental.snapshot.enabled 后不再需要 RELOAD 权限。

十五、2. Binlog 配置(仅实时同步)

TDSQL-C MySQL 默认开启 Binlog。在控制台「参数设置」中确认:

·binlog_format = ROW

·binlog_row_image = FULL

·GTID 默认开启且不支持关闭。

修改参数后需要按控制台提示进行实例重启。

十七、操作步骤

1. 登录 DataBuddy 控制台。

2. 在顶部切换到目标地域和 Workspace。

3. 进入 数据接入 > 任务管理 > 数据源管理 (或 平台管理 > 数据源管理 )。

4. 点击 添加数据源 ,选择 TDSQL-C MySQL 。

5. 填写连接配置与认证信息,详见 参数说明。

6. 点击 测试连接 (参见 数据源连通性测试)。

7. 测试通过后点击 保存 或 保存 & 创建任务 。

十八、参数说明

参数 说明 是否必填 默认值
数据源名称 数据源在工作空间内的唯一标识 是 –
连接方式 串连接(JDBC URL) / 腾讯云实例 是 腾讯云实例
JDBC URL 串连接方式下的连接串,格式 jdbc:mysql://host:port/database 串连接必填 –
地域、实例 腾讯云实例方式必填 腾讯云实例必填 –
用户名 数据库连接账号 是 –
密码 数据库连接密码(支持 SSM 凭证托管) 是 –
数据源版本 5.7 是 –
高级参数 连接级扩展参数 否 –

20、实时整库、分库分表

配置项 说明
来源表范围 指定表 (仅同步选中的表,新增表需重启)/ 正则匹配 (指定库名 + 表名正则,符合规则的新增表自动接入)
读取模式 全量 + 增量 / 仅增量
订阅类型 可勾选 INSERT / UPDATE / DELETE,至少保留一种
gh-ost 同步 是否同步 gh-ost 在线 DDL 产生的临时表

21、离线单表

配置项 说明
数据来源 已配置的 MySQL 数据源
库 / 表 支持指定与正则匹配;表名支持范围如 table_[0-99]
切割键 仅支持整型字段;建议选择主键或带索引的列;避免 COLLATE 列
筛选条件 标准 WHERE 语法,支持时间参数(如 gmt_create > $bizdate)

详细任务配置参见 表到表同步 与 实时整库多表任务配置。

22、最佳实践

·账号权限最小化 :使用专用账号,仅授必要权限。

·Binlog 保留时间 :至少 72 小时;大表全量同步建议更长。

·切割键选择 :优先主键或索引列。

·网络打通 :优先使用内网连接。

24、Q:报错 server-id 冲突?

A:多个同步任务使用了相同的 server-id。系统已优化为随机生成;如旧任务在高级参数中显式配置了 server-id,请删除。

25、Q:报错 Binlog 文件被清理?

A:增加 Binlog 保留时间,或优化作业性能加速消费。

26、Q:报错 Connection reset?

A:网络问题或作业反压。可调大 slave_net_timeout = 120,并优化并行度与内存。

27、Q:JobManager OOM?

A:调大 JobManager CU;调整高级参数 scan.incremental.snapshot.chunk.size(默认 8096)。

28、Q:是否支持 gh-ost 在线 DDL?

A:支持,开启 gh-ost 同步开关后会监控 *_gho 临时表变更,支持配置影子表正则。

29、相关文档

·MySQL 数据源

·添加数据源连接

·支持的数据源与读取能力

·实时整库多表任务配置

赞 (0)
上一篇 4天前
下一篇 4天前