Skip to main content

MySQL

MySQL 是最流行的关系型数据库之一。很多系统都曾经或正在使用 MySQL 数据库存储物联网、工业互联网等设备上报的数据。但随着接入系统的设备量日益增长、用户对数据实时性反馈的要求也越来越高,MySQL 已经无法满足业务需求。

MySQL 数据写入,是通过连接代理把数据从 MySQL 服务器写入到当前选择的 TDengine Cloud 实例。

先决条件

  • 创建一个空数据库来存储 MySQL 数据。更多信息,请参阅 数据库
  • (可选的)确保连接代理运行在与 MySQL 服务器位于同一网络的机器上。更多信息,请参阅 安装连接代理

具体步骤

  1. 在 TDengine Cloud 中,在左边菜单中打开 数据写入 页面,在 数据源 选项卡上,单击 添加数据源打开新增页面。

    • 名称 输入框里面填写这个数据源的名称,并选择 MySQL 类型。
    • 代理 选择框是非必填项。如有需要,可以在下拉框选择已经创建的代理;如果没有创建代理,请点击旁边的创建新的代理按钮去创建新代理。
  2. 目标数据库里面选择一个当前所在的 TDengine Cloud 实例里面的数据库作为目标数据库。

  3. 配置连接信息:

    • 连接配置 区域填写 Server 地址Server 端口
    • 认证 区域填写 用户名密码
    • 字符集 设置连接的字符集。默认字符集为 utf8mb4 。MySQL 5.5.3 支持此功能。如果需要连接到旧版本,建议改为 utf8。可选项有 utf8、utf8mb4、utf16、utf32、gbk、big5、latin1、ascii。
    • SSL 模式 设置是否与服务器协商安全 SSL TCP/IP 连接或以何种优先级进行协商。默认值是 PREFERRED。可选项有 DISABLED、PREFERRED、REQUIRED。
  4. 点击 连通性检查 按钮,用户可以点击此按钮检查上方填写的信息是否可以正常获取源 MySQL 数据库的数据。

  5. 配置 SQL 查询

    • SQL 模板:用于查询的 SQL 语句模板,SQL 语句中必须包含时间范围条件,且开始时间和结束时间必须成对出现。SQL 语句模板中定义的时间范围由源数据库中的某个代表时间的列和下面定义的占位符组成。

    SQL使用不同的占位符表示不同的时间格式要求,具体有以下占位符格式:

    1. ${start}${end}:表示 RFC3339 格式时间戳,如: 2024-03-14T08:00:00+0800
    2. ${start_no_tz}${end_no_tz}: 表示不带时区的 RFC3339 字符串:2024-03-14T08:00:00
    3. ${start_date}${end_date}:表示仅日期,如:2024-03-14
    • 起始时间:迁移数据的起始时间,此项为必填字段。
    • 结束时间:迁移数据的结束时间,可留空。如果设置,则迁移任务执行到结束时间后,任务完成自动停止;如果留空,则持续同步实时数据,任务不会自动停止。
    • 查询间隔:分段查询数据的时间间隔,默认1天。为了避免查询数据量过大,一次数据同步子任务会使用查询间隔分时间段查询数据。 -延迟时长:实时同步数据场景中,为了避免延迟写入的数据丢失,每次同步任务会读取延迟时长之前的数据。
  6. 数据映射 区域填写数据映射相关的配置参数。

    • 点击 从服务器检索 按钮,从 MySQL 服务器获取示例数据。
    • 从列中提取或拆分 中填写从消息体中提取或拆分的字段,例如:将 vValue 字段拆分成 vValue_0vValue_1 这 2 个字段,选择 split 提取器,seperator 填写分割符 ,, number 填写 2。
    • 过滤 中,填写过滤条件,例如:填写Value > 0,则只有 Value 大于 0 的数据才会被写入 TDengine。
    • 映射 中,选择要映射到 TDengine 的超级表,以及映射到超级表的列。
    • 点击 预览,可以查看映射的结果。
  7. 高级选项 区域是默认折叠的,点击右侧 > 可以展开,如下图所示:

    • 最大读取并发数 数据源连接数或读取线程数限制,当默认参数不满足需要或需要调整资源使用量时修改此参数。

    • 批次大小 单次发送的最大消息数或行数。默认是 10000。

  8. 点击 提交 按钮,完成创建 MySQL 到 TDengine Cloud 实例的数据同步任务。