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

TDSQL MySQL 数据源

最近更新时间:2026-10-13 15:25:02
我的收藏

概述

TDSQL MySQL 是腾讯云自研的分布式关系型数据库,兼容 MySQL 协议,具备水平扩展与高可用能力。DataBuddy 数据接入支持将 TDSQL MySQL 作为来源端,覆盖离线同步与直连分析场景。本文介绍其连接配置、能力支持范围、前提条件与常见问题。

支持的版本

类型
支持版本
TDSQL MySQL
5.7 / 8.0

读取能力

能力
支持情况
说明
离线同步(读 / 写)
✓ / -
支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入
直连分析(读 / 写)
✓ / -
支持通过直连分析直接查询该数据源;不支持写入
完整数据源能力对照参见 支持的数据源与读取能力。

支持的字段类型

完整字段类型请参见 MySQL 官方文档。TDSQL MySQL 兼容 MySQL 字段类型,以下是 DataBuddy 的离线读支持情况(节选 MySQL 8.0.x)。
字段类型
离线读
TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT(含 UNSIGNED)
✅
FLOAT / DOUBLE / DECIMAL / NUMERIC
✅
CHAR / VARCHAR / TEXT 系列
✅
JSON
✅
BINARY / VARBINARY / BLOB 系列
✅
DATE / TIME / DATETIME / TIMESTAMP / YEAR
✅
BIT / BOOL / BOOLEAN / ENUM / SET
✅
GEOMETRY / POINT / LINESTRING 等空间类型
✅
说明:
空间类型(GEOMETRY 系列)按二进制读取,不解析几何语义;如需在目标端保留几何信息,建议先在源端转换为字符串类型。

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

同步时源端字段类型会转换为 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
不解析几何语义,建议先在源端转换为字符串
上表未列出的其他类型
-
任务报错并提示不支持的字段类型
上表描述离线同步链路的类型转换结果;如需调整目标端字段类型,可在任务的字段映射中修改,参见 表到表同步。

前提条件

配置账号权限

CREATE USER 'wedata_user'@'%' IDENTIFIED BY 'your_password';
GRANT SELECT ON your_database.* TO 'wedata_user'@'%';
FLUSH PRIVILEGES;
建议为同步任务创建专用账号,仅授必要的 SELECT 权限,避免与业务账号混用。

创建数据源

操作步骤

1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据集成 > 数据源管理(或 平台管理 > 数据源管理)。
4. 点击 创建数据源,选择 TDSQL MySQL。
5. 填写连接配置与认证信息,详见 参数说明。
6. 点击 测试连接(参见 数据源连通性测试)。
7. 测试通过后点击 保存 或 保存 & 创建任务。

参数说明

参数
说明
是否必填
默认值
数据源名称
数据源在工作空间内的唯一标识
是
-
连接方式
腾讯云实例 / 串连接
是
腾讯云实例
地域、实例
腾讯云实例方式下选择目标实例
腾讯云实例必填
-
JDBC URL
串连接方式下的连接串,格式 jdbc:mysql://host:port/database
串连接必填
-
用户名
数据库连接账号
是
-
密码
数据库连接密码(支持 SSM 凭证托管)
是
-
数据源版本
5.7 / 8.0
是
-
JDBC URL 示例:
jdbc:mysql://10.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai

在数据接入任务中使用

离线单表

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

最佳实践

实践
建议
账号权限最小化
为同步任务创建专用账号,仅授 SELECT 权限
切割键选择
主键或索引列,避免无索引列导致全表扫描
网络打通
优先使用内网连接,提升传输性能

常见问题

Q:连接超时或被拒绝?

A:检查网络连通性与安全组规则,确认目标实例端口(默认 3306)已放通。

Q:读取大表时速度较慢?

A:设置合理的切割键以并行读取;确认切割键列上有索引,避免全表扫描。

相关文档