MySQL Binlog
简介
service_canal
input
插件可以采集MySQL Binlog。
版本
配置参数
Type
String,无默认值(必填)
插件类型,指定为service_canal
。
Host
String,127.0.0.1
数据库主机。
Port
Interger,3306
数据库端口。
User
String,root
数据库用户名。
Password
String,默认值为空
数据库密码。
ServerID
Interger,125
Logtail模拟Mysql Slave的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
Boolean,true
是否采集insert事件的数据。不设置时,默认为true。设置为false时,表示将不采集insert事件数据。
EnableUpdate
Boolean,true
是否采集update事件的数据。不设置时,默认为true。设置为false时,表示不采集update事件数据。
EnableDelete
Boolean,true
是否采集delete事件的数据。不设置时,默认为true。设置为false时,表示不采集delete事件数据。
EnableDDL
Boolean,false
是否采集DDL(data definition language)事件数据。不设置时, 默认为false,表示不收集DDL事件数据。该选项不支持IncludeTables和ExcludeTables过滤。
Charset
String,utf-8
编码方式。不设置时,默认为utf-8。
TextToString
Boolean,false
是否将text类型的数据转换成字符串。不设置时,默认为false,表示不转换。
PackValues
Boolean,false
是否将事件数据打包成JSON格式。默认为false,表示不打包。如果设置为true,Logtail会将事件数据以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
Boolean,false
是否采集事件的元数据,默认为false,表示不采集。 Binlog事件的元数据包括event_time、event_log_position、event_size和event_server_id。
UseDecimal
Boolean,false
Binlog解析DECIMAL类型时,是否保持原格式输出,而不是使用科学计数法。如果未设置,系统默认为false,即默认使用科学计数法。
样例
对user_info数据库下的SpecialAlarm表分别执行INSERT、UPDATE、DELETE操作,数据库表结构、数据库操作及日志样例如下所示。
表结构
表内容,其中一行
执行三条语句
采集配置
输出
Last updated