MySQL Bulk CDC

The Micro-Integration for MySQL Bulk CDC captures changes (inserts, updates, deletes) from multiple MySQL database tables simultaneously (using Debezium) and streams them to topics on an event broker service. Only header mapping is supported; payload mapping is not available for this Micro-Integration.

You can configure MySQL only as a source.

To configure the connection details for MySQL in your Micro-Integration, see MySQL Bulk CDC Connection Parameters.

You must also define one Micro-Integration Flow that specifies:

  • the endpoints where data is consumed from and published to. For more information, see Micro-Integration Flow Parameters.

  • how the header fields should be mapped. For more information, see Mapping Headers and Payloads.

    For bulk CDC Micro-Integrations, payload transformations are not supported. Header transformations and Smart Topics are supported.

For message headers, see MySQL Bulk CDC Message Headers .

MySQL Bulk CDC Connection Parameters

The following table describes the connection parameters for MySQL.

Field Description
Database Hostname The hostname of the MySQL database server.
Database Port The port of the MySQL database server.
Skip Delete Events Select to skip the processing of delete events from the database change stream. The option is enabled by default.
Authentication

The authentication scheme to use when connecting to MySQL. Select one of:

Additional Properties

(Optional) Any additional configuration related to MySQL that applies for all Flows. Click Add Context if you need to specify additional context properties.

Checkpoint Queue The name of the Last Value Queue (LVQ) on the event broker service to use for checkpointing. The LVQ stores information about the change events that have been processed and those that are currently being processed. The LVQ must exist on the same event broker service and VPN as the target destination.
Auto Create Checkpoint Queue Select this option to automatically create the LVQ if it does not exist.

Basic Authentication Parameters

Field Description
Username The username to use for logging in to MySQL.
Password The password to use for authenticating with the MySQL database.

Client Certificate Authentication Parameters

Field Description
SSL Mode

The SSL mode determines the security level for client-server communications. It controls whether SSL/TLS encryption is used and how rigorously the server's identity is verified. Choose one of:

  • disabled: Establish an unencrypted connection.

  • preferred: Establish an encrypted connection if the server supports encrypted connections, falling back to an unencrypted connection if an encrypted connection cannot be established.

  • required: Establish an encrypted connection if the server supports encrypted connections. The connection attempt fails if an encrypted connection cannot be established.

  • verify_ca: Like required, but additionally verify the server Certificate Authority (CA) certificate against the configured CA certificates. The connection attempt fails if no valid matching CA certificates are found.

  • verify_identity: Like verify_ca, but additionally perform host name identity verification by checking the host name the client uses for connecting to the server against the identity in the certificate that the server sends to the client.

For more information see the MySQL CDC documentation for SSL Mode.

SSL Keystore The SSL keystore for the client.
Keystore Password The password for the SSL keystore.
SSL Truststore The SSL truststore for the client.
Truststore Password The password for the SSL truststore.
Username The username to use for logging in to MySQL.
Password The password to authenticate with the MySQL database.

Micro-Integration Flow Parameters

You must configure the endpoint parameters for the Flow. The Flow shares the connection details of the parent Micro-Integration.

The following table describes the parameters for configuring MySQL as a source.

Field Description
Destination

The tables from which to consume change events. Each entry must include the database name and the table name in <database>.<tableName> format. You can specify multiple tables using a semicolon-separated list, a regular expression, or a combination of both. For example:

  • Semicolon-separated list: inventory.customers;inventory.orders

  • Regular expression: inventory.table_.*

  • Combination: inventory.orders_.*;inventory.customers_.*

Database Server ID A numeric ID of this database client, which must be unique across all connectors.
Additional Properties

(Optional) Any additional configuration related to MySQL that applies for this Flow. Click Add Context if you need to specify additional context properties.

Additional Properties

The following table lists additional properties that are available.

Property Type Valid Values Default Value Description

snapshotMode

String

initial, schema_only, when_needed, never, no_data, initial_only

no_data

Controls initial snapshot behavior. Select one of the following snapshot options:

  • initial—The default. Takes a snapshot on first startup, then streams changes.

  • schema_only—Schema structure only, no data. Deprecated, see no_data.

  • when_needed—Takes a snapshot when the Micro-Integration determines it's needed.

  • never—Never takes snapshots.

  • no_data—Schema structure only, no data.

  • initial_only—Takes a snapshot but doesn't transition to streaming.

skippedOperations

String

c, u, d, t, none

t

Operations to skip: c (create), u (update), d (delete), t (truncate), none.

offsetFlushIntervalMs

Integer

60000

The interval for flushing offsets (milliseconds).

bigintUnsignedHandlingMode

String

precise, long

long

Specify how BIGINT UNSIGNED columns should be represented in change events:

  • precise—use java.math.BigDecimal

  • long—represent values using Java long

decimalHandlingMode

String

precise, string, double

precise

Specify how DECIMAL and NUMERIC columns should be represented in change events:

  • precise—use java.math.BigDecimal

  • string—use string

  • double—use Java double

timePrecisionMode

String

adaptive_time_microseconds, connect

adaptive_time_microseconds

Specifies precision for time, date and timestamps values:

  • adaptive_time_microseconds—precision is based on the database column's precision

  • connect—uses millisecond precision regardless of database columns' precision.