MySQL CDC

The Micro-Integration for MySQL CDC captures changes (inserts, updates, deletes) from a MySQL database table (using Debezium) and streams them to a topic on an event broker service.

You can configure MySQL only as a source.

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

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

For message headers, see MySQL CDC Message Headers.

MySQL CDC Connection Parameters

The following table describes the connection parameters for MySQL.

Field Description
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 files that have been processed and the files 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.

Micro-Integration Flow Parameters

You must configure the endpoint parameters for each Flow. Each Flow can have different settings, but they all share the connection details of the parent Micro-Integration.

MySQL CDC Source Parameters

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

Field Description
Destination The name of the table, including the database name. Use the <database>.<table> format.
Database Hostname The hostname of the MySQL database server.
Database Port The port of the MySQL database server.
Database Server ID A numeric ID of this database client, which must be unique across all connectors.
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. Click Add Context if you need to specify additional context properties.

Basic Authentication Parameters

Field Description
Username The username to use for logging in to MySQL.
Password The password 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.

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.