Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt

Use this file to discover all available pages before exploring further.

DescriptionMySQL is the world’s most popular open source database
TypeCDC/Binlog Replication
Supported ReplicationInitial Sync Continuous Sync
Authentication TypePassword Authentication

Setting up MySQL CDC for ELT & CDC

ELT & CDC uses binlog replication for MySQL database sources. The binary log records all changes to your database, and Integrate.io reads these log events to capture inserts, updates, and deletes in near real-time. This approach has minimal impact on your source database since it reads from the replication stream rather than querying tables directly. We recommend using a read-replica for syncing to eliminate any performance impact on your primary database instance.

Supported providers

Select your provider above for platform-specific setup instructions covering read-replica creation, user configuration, and binary log settings.

Requirements

  • MySQL versions 5.7.x or above.
  • Binary logging enabled with binlog_format set to ROW and binlog_row_image set to FULL.
  • Tables with PRIMARY KEY.
  • Superuser access for creating a sync user. The sync user itself only needs SELECT, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT, and LOCK TABLES privileges.
  • Binlog retention set to a minimum of 1 day (86400 seconds). We recommend 7 days (604800 seconds) to allow time for recovery from any sync interruptions.

Features

FeatureSupportedNotes
Full (Historical) syncYes
Incremental syncYes
Replicate DELETEYes
UPSERTYes
Append only modeYesCan be specified at a table level
Exclude tablesYes
Exclude columnsYes
SSL SupportYes
SSH tunnelYesSSH Tunnel Guide

Binlog retention

Binlog files must be retained long enough for Integrate.io to read changes since the last sync checkpoint. If binlog files are purged before the pipeline can read them, the pipeline will need to perform a full resync. The recommended retention settings depend on your provider:
ProviderSettingRecommended Value
Amazon RDSbinlog retention hours (via mysql.rds_set_configuration)168 (7 days)
Aurora MySQLbinlog retention hours (via mysql.rds_set_configuration)168 (7 days)
Google Cloud SQLAutomated backups with point-in-time recovery enabled7 days
Azure MySQLbinlog_expire_logs_seconds server parameter604800 (7 days)
Self-hostedbinlog_expire_logs_seconds in MySQL config604800 (7 days)

Frequently Asked Questions (FAQs)

A read-replica is optional but recommended. Syncing from a replica eliminates any performance impact on your primary database. If you prefer to sync directly from the primary instance, that works too — the sync user only performs lightweight read operations.
Binary logging is required for CDC. Without it, Integrate.io cannot capture changes. You will need to enable it and restart your MySQL instance before setting up the pipeline. Each provider guide includes the specific steps.
InnoDB is the recommended and most commonly used engine. MyISAM tables can be replicated, but InnoDB provides better transaction support and crash recovery.
Yes. When configuring your pipeline, you can select which tables to include. You can also exclude specific columns from synced tables.

Amazon RDS MySQL

Aurora MySQL

Azure MySQL

Google Cloud SQL MySQL

Self-hosted MySQL

MySQL PrivateLink

Last modified on April 15, 2026