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.
| Description | MySQL is the world’s most popular open source database |
| Type | CDC/Binlog Replication |
| Supported Replication | Initial Sync Continuous Sync |
| Authentication Type | Password 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_formatset toROWandbinlog_row_imageset toFULL. - Tables with
PRIMARY KEY. - Superuser access for creating a sync user. The sync user itself only needs
SELECT,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT, andLOCK TABLESprivileges. - 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
| Feature | Supported | Notes |
|---|---|---|
| Full (Historical) sync | Yes | |
| Incremental sync | Yes | |
| Replicate DELETE | Yes | |
| UPSERT | Yes | |
| Append only mode | Yes | Can be specified at a table level |
| Exclude tables | Yes | |
| Exclude columns | Yes | |
| SSL Support | Yes | |
| SSH tunnel | Yes | SSH 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:| Provider | Setting | Recommended Value |
|---|---|---|
| Amazon RDS | binlog retention hours (via mysql.rds_set_configuration) | 168 (7 days) |
| Aurora MySQL | binlog retention hours (via mysql.rds_set_configuration) | 168 (7 days) |
| Google Cloud SQL | Automated backups with point-in-time recovery enabled | 7 days |
| Azure MySQL | binlog_expire_logs_seconds server parameter | 604800 (7 days) |
| Self-hosted | binlog_expire_logs_seconds in MySQL config | 604800 (7 days) |
Frequently Asked Questions (FAQs)
Do I need to use a read-replica?
Do I need to use a read-replica?
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.
What happens if binary logging is not enabled?
What happens if binary logging is not enabled?
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.
What MySQL engines are supported?
What MySQL engines are supported?
InnoDB is the recommended and most commonly used engine. MyISAM tables can be replicated, but InnoDB provides better transaction support and crash recovery.
Can I sync specific tables only?
Can I sync specific tables only?
Yes. When configuring your pipeline, you can select which tables to include. You can also exclude specific columns from synced tables.