tencent cloud

文档反馈

数据源表 MySQL

最后更新时间:2023-11-08 16:21:40

    介绍

    MySQL 数据源表支持对 MySQL 数据库的全量和增量读取,并保证 Exactly Once 语义。MySQL 数据源表底层使用 Debezium 来做 CDC(Change Data Capture)。其工作机制如下:
    1. 获取一个全局读锁,从而阻塞住其他数据库客户端的写操作。
    2. 开启一个可重复读语义的事务,来保证后续在同一个事务内读操作都是在一个一致性快照中完成的。
    3. 读取 Binlog 的当前位置。
    4. 读取连接器中配置的数据库和表的模式(schema)信息。
    5. 释放全局读锁,允许其他的数据库客户端对数据库进行写操作。
    6. 扫描全表,当全表数据读取完后,会从第3步中得到的 Binlog 位置获取增量的变更记录。
    Flink 作业运行期间会周期性执行快照,记录下 Binlog 位置,当作业崩溃恢复时,便会从之前记录的 Binlog 点继续处理,从而保证 Exactly Once 语义。

    类型映射

    MySQL 字段类型
    Flink 字段类型
    TINYINT
    TINYINT
    SMALLINT
    SMALLINT
    TINYINT UNSIGNED
    INT
    INT
    MEDIUMINT
    SMALLINT UNSIGNED
    BIGINT
    BIGINT
    INT UNSIGNED
    BIGINT UNSIGNED
    DECIMAL(20, 0)
    FLOAT
    FLOAT
    DOUBLE
    DOUBLE
    DOUBLE PRECISION
    NUMERIC(p, s)
    DECIMAL(p, s)
    DECIMAL(p, s)
    BOOLEAN
    BOOLEAN
    TINYINT(1)
    DATE
    DATE
    TIME [(p)]
    TIME [(p)] [WITHOUT TIMEZONE]
    DATETIME [(p)]
    TIMESTAMP [(p)] [WITHOUT TIMEZONE]
    TIMESTAMP [(p)]
    TIMESTAMP [(p)]
    TIMESTAMP [(p)] WITH LOCAL TIME ZONE
    CHAR(n)
    STRING
    VARCHAR(n)
    TEXT
    BINARY
    BYTES
    VARBINARY
    BLOB

    注意事项

    用户权限

    用于同步的源数据库的用户必须拥有以下权限 SHOW DATABASES、REPLICATION SLAVE、REPLICATION CLIENT、SELECT 和 RELOAD。

    数据库参数设置

    binlog_row_image 参数的参数运行值应当设置为 FULL。

    WITH 参数

    MySQL 数据源表基于数据库 MySQL CDC 开发,两者具有相同的 WITH 参数,具体参数配置方式可参见 数据库 MySQL CDC
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持