帮你快速理解、总结文档立即下载

TDSQL-C MySQL 数据源

最近更新时间:2026-09-11 20:42:32
我的收藏

概述

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

支持的版本

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

读取能力

能力
离线读
实时整库读
分库分表读
支持
完整数据源能力对照参见 支持的数据源与读取能力

使用限制

实时同步限制

限制项
说明
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。

实时同步支持的 DML / DDL

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
高级参数
连接级扩展参数

在数据接入任务中使用

实时整库、分库分表

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

离线单表

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

最佳实践

账号权限最小化 :使用专用账号,仅授必要权限。
Binlog 保留时间 :至少 72 小时;大表全量同步建议更长。
切割键选择 :优先主键或索引列。
网络打通 :优先使用内网连接。

常见问题

Q:报错 server-id 冲突?

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

Q:报错 Binlog 文件被清理?

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

Q:报错 Connection reset?

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

Q:JobManager OOM?

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

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

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

相关文档