CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/MySQL Binlog
文档目录
概览版本管理
什么是输入插件
脚本执行数据【Debug】文本日志【示例】MetricInput主机Meta数据【Debug】Mock数据-Metric主机监控数据MySQL Binlog容器标准输出GO ProfileGPU数据HTTP数据【示例】ServiceInputJournal数据KafkaKubernetes元信息采集【Debug】Mock数据-ServiceSqlServer 查询数据OTLP数据PostgreSQL 查询数据收集 SNMP 协议机器信息Syslog数据

LoongCollector

MySQL Binlog

servicecanal input插件可以采集MySQL Binlog。 Beta 推荐版本:LoongCollector v3.0.5 及以上 | 参数 | 类型,默认值 | 说明 | | --- | --- | --- | | Type | string,无默认值(必填) | 插件类型,指定为servicecanal。 | | Host| string,127.0.0.1 |...

Canal

简介

service_canal input插件可以采集MySQL Binlog。

版本

Beta

版本说明

  • 推荐版本:LoongCollector v3.0.5 及以上

配置参数

参数 类型,默认值 说明
Type string,无默认值(必填) 插件类型,指定为service_canal。
Host string,127.0.0.1 数据库主机。
Port Interger,3306 数据库端口。
User string,root 数据库用户名。
Password string,默认值为空 数据库密码。
ServerID Interger,125 LoongCollector(service_canal)模拟 MySQL Slave 的 server_id。
IncludeTables Array, 无默认值(必填) 包含的表名称(包括db,例如:test_db.test_table),可配置为正则表达式。如果某个表不符合IncludeTables中的任一条件则该表不会被采集。如果您希望采集所有表,请将此参数设置为.*\\..*。如果需要完全匹配,请在前面加上^,后面加上$,例如:^test_db\.test_table$。
ExcludeTables Array, 无默认值(必填) 忽略的表名称(包括db,例如:test_db.test_table),可配置为正则表达式。如果某个表符合ExcludeTables中的任一条件则该表不会被采集。不设置时默认收集所有表。
StartBinName string,"" 首次采集的Binlog文件名。不设置时,默认从当前时间点开始采集。如果想从指定位置开始采集,可以查看当前的Binlog文件以及文件大小偏移量,并将StartBinName、StartBinlogPos设置成对应的值。
StartBinlogPos Interger,true 是否附加全局事务ID。不设置时,默认为true。设置为false时,表示上传的数据不附加全局事务ID。
EnableGTID Boolean,true 是否附加全局事务ID。不设置时,默认为true。设置为false时,表示上传的数据不附加全局事务ID。
EnableInsert bool,true 是否采集insert事件的数据。不设置时,默认为true。设置为false时,表示将不采集insert事件数据。
EnableUpdate bool,true 是否采集update事件的数据。不设置时,默认为true。设置为false时,表示不采集update事件数据。
EnableDelete bool,true 是否采集delete事件的数据。不设置时,默认为true。设置为false时,表示不采集delete事件数据。
EnableDDL bool,false 是否采集DDL(data definition language)事件数据。不设置时, 默认为false,表示不收集DDL事件数据。该选项不支持IncludeTables和ExcludeTables过滤。
Charset string,utf-8 编码方式。不设置时,默认为utf-8。
TextToString bool,false 是否将text类型的数据转换成字符串。不设置时,默认为false,表示不转换。
PackValues bool,false 是否将事件数据打包成JSON格式。默认为false,表示不打包。如果设置为 true,插件会将事件数据以 JSON 格式集中打包到 data 和 old_data 两个字段中,其中 old_data 仅在 row_update 事件中有意义。 示例:假设数据表有三列数据c1,c2,c3,设置为false,row_insert事件数据中会有c1,c2,c3三个字段,而设置为true时,c1,c2,c3会被统一打包为data字段,值为{"c1":"...", "c2": "...", "c3": "..."}。
EnableEventMeta bool,false 是否采集事件的元数据,默认为false,表示不采集。 Binlog事件的元数据包括event_time、event_log_position、event_size和event_server_id。
UseDecimal bool,false Binlog解析DECIMAL类型时,是否保持原格式输出,而不是使用科学计数法。如果未设置,系统默认为false,即默认使用科学计数法。

样例

对user_info数据库下的SpecialAlarm表分别执行INSERT、UPDATE、DELETE操作,数据库表结构、数据库操作及日志样例如下所示。

  • 表结构
CREATE TABLE `titles` (
  `emp_no` int(11) NOT NULL,
  `title` varchar(50) NOT NULL,
  `from_date` date NOT NULL,
  `to_date` date DEFAULT NULL,
  PRIMARY KEY (`emp_no`,`title`,`from_date`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 表内容,其中一行
emp_no title from_date to_date
10006 Senior Engineer 1990-08-05 9999-01-01
  • 执行三条语句
update titles set title = 'test-update' where emp_no = 10006

delete from titles where emp_no = 10006

INSERT INTO `titles` (`emp_no`, `title`, `from_date`, `to_date`)
VALUES
 (10006, 'Senior Engineer', '1990-08-05', '9999-01-01'); 
  • 采集配置
enable: true
inputs:
  - Type: service_canal
    Host: 127.0.0.1
    Port: 3306
    ServerID: 123456
    Password: xxxxx
    EnableDDL: true
    TextToString: true
flushers:
  - Type: flusher_kafka
    Brokers:
      - localhost:9092
    Topic: access-log
  • 输出
{
    "Time": 1657890330,
    "Contents": [
        {
            "Key": "_table_",
            "Value": "titles"
        },
        {
            "Key": "_offset_",
            "Value": "4308"
        },
        {
            "Key": "_old_emp_no",
            "Value": "10006"
        },
        {
            "Key": "from_date",
            "Value": "1990-08-05"
        },
        {
            "Key": "_host_",
            "Value": "127.0.0.1"
        },
        {
            "Key": "_event_",
            "Value": "row_update"
        },
        {
            "Key": "_id_",
            "Value": "12"
        },
        {
            "Key": "_old_from_date",
            "Value": "1990-08-05"
        },
        {
            "Key": "_gtid_",
            "Value": "00000000-0000-0000-0000-000000000000:0"
        },
        {
            "Key": "_db_",
            "Value": "employees"
        },
        {
            "Key": "_filename_",
            "Value": "mysql-bin.000001"
        },
        {
            "Key": "_old_title",
            "Value": "Senior Engineer"
        },
        {
            "Key": "_old_to_date",
            "Value": "9999-01-01"
        },
        {
            "Key": "emp_no",
            "Value": "10006"
        },
        {
            "Key": "title",
            "Value": "test-update"
        },
        {
            "Key": "to_date",
            "Value": "9999-01-01"
        }
    ]
}

{
    "Time": 1657890333,
    "Contents": [
        {
            "Key": "_id_",
            "Value": "13"
        },
        {
            "Key": "_filename_",
            "Value": "mysql-bin.000001"
        },
        {
            "Key": "emp_no",
            "Value": "10006"
        },
        {
            "Key": "title",
            "Value": "test-update"
        },
        {
            "Key": "_db_",
            "Value": "employees"
        },
        {
            "Key": "_table_",
            "Value": "titles"
        },
        {
            "Key": "_event_",
            "Value": "row_delete"
        },
        {
            "Key": "from_date",
            "Value": "1990-08-05"
        },
        {
            "Key": "to_date",
            "Value": "9999-01-01"
        },
        {
            "Key": "_host_",
            "Value": "127.0.0.1"
        },
        {
            "Key": "_gtid_",
            "Value": "00000000-0000-0000-0000-000000000000:0"
        },
        {
            "Key": "_offset_",
            "Value": "4660"
        }
    ]
}

{
    "Time": 1657890335,
    "Contents": [
        {
            "Key": "_offset_",
            "Value": "4975"
        },
        {
            "Key": "emp_no",
            "Value": "10006"
        },
        {
            "Key": "title",
            "Value": "Senior Engineer"
        },
        {
            "Key": "from_date",
            "Value": "1990-08-05"
        },
        {
            "Key": "_gtid_",
            "Value": "00000000-0000-0000-0000-000000000000:0"
        },
        {
            "Key": "_filename_",
            "Value": "mysql-bin.000001"
        },
        {
            "Key": "_table_",
            "Value": "titles"
        },
        {
            "Key": "_event_",
            "Value": "row_insert"
        },
        {
            "Key": "_id_",
            "Value": "14"
        },
        {
            "Key": "to_date",
            "Value": "9999-01-01"
        },
        {
            "Key": "_host_",
            "Value": "127.0.0.1"
        },
        {
            "Key": "_db_",
            "Value": "employees"
        }
    ]
}

文章大纲