Rafael Felipe
07/02/2026, 7:17 PMkapa.ai
07/02/2026, 7:18 PMSELECT statement (Full Refresh).
• On subsequent syncs, it reads only from the last saved log position up to the start time of the current sync — not from the beginning of all binlog files. [CDC Docs]
Handling Multiple Binlog Files Yes, Airbyte does handle log file rotation (e.g., bin-log.00001 → bin-log.00002). When MySQL creates a new binlog file after the previous one reaches its size limit, Airbyte will follow and continue reading from the new file. [MySQL CDC Binlog Forum]
The metadata columns _ab_cdc_log_file and _ab_cdc_log_pos are used specifically to track which file and position a record was retrieved from. [CDC Docs]
Important Caveat: Binlog Expiry Since Airbyte only reads the delta since the last sync, you must ensure your sync frequency is high enough that the binlogs haven't been purged before the next sync runs. If the saved offset is no longer present (because binlogs were deleted), Airbyte will trigger a full refresh from scratch. [MySQL Troubleshooting]
To mitigate this:
• Sync more frequently.
• Increase binlog_expire_logs_seconds (standard MySQL).
• For Amazon RDS, set binlog retention hours to at least 24 hours:call mysql.rds_set_configuration('binlog retention hours', 24);
In summary: Airbyte reads only the relevant portion of binlogs since the last sync position, not all 1000 files at once in a single job. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.