Jordi Santacreu Carranco
03/05/2026, 10:34 AMkapa.ai
03/05/2026, 10:34 AMJordi Santacreu Carranco
03/05/2026, 10:35 AMJordi Santacreu Carranco
03/05/2026, 10:35 AMkapa.ai
03/05/2026, 10:35 AMJordi Santacreu Carranco
03/05/2026, 10:36 AMkapa.ai
03/05/2026, 10:36 AMbinlog_expire_logs_seconds (MySQL 8+) to at least several days (7 days recommended):
> “Set a higher binlog_expire_logs_seconds. It's recommended to set this value to a time period of 7 days.” [MySQL troubleshooting]
Amazon RDS MySQL:
• Set binlog retention hours to a non‑zero value (e.g. 24+ hours, ideally more):
CALL mysql.rds_set_configuration('binlog retention hours', 24);
[MySQL troubleshooting]
General recommendation from CDC best practices:
• Optimal: 7 days retention
• Minimum: longer than your sync frequency [CDC best practices – DB level]
2. Set Airbyte sync frequency appropriately
Your *sync schedule must be shorter than the log retention period*; otherwise, logs can be purged before Airbyte reads them. [CDC best practices – General config]
Guidance:
• If retention is 3 days → sync at least every 2 days
• For near real‑time → every 1–4 hours with ~7‑day retention
• For daily reporting → once per day with ≥3–7 days retention [CDC best practices – General config]
3. Recognizing when binlog was already lost
If Airbyte logs show:
> “Saved offset no longer present on the server, Airbyte is going to trigger a sync from scratch”
it means the binlogs for the saved position were already removed. The only recovery is a new full snapshot; you can only prevent this in the future by increasing retention and/or syncing more frequently. [MySQL troubleshooting]
-------------------------
So, to “not lose the binlog”:
1. increase MySQL binlog/WAL retention, and
2. configure Airbyte syncs to run more frequently than that retention window. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.