Verify MySQL is configured with binlog_format=ROW and binlog_row_image=FULL, and that the Debezium user has REPLICATION SLAVE, REPLICATION CLIENT, and SELECT privileges
Set database.server.id to a unique integer for this connector instance; it identifies the connector to MySQL as a replica
Configure database.include.list and table.include.list to scope capture to the desired databases and tables
Set snapshot.mode to the appropriate value for initial setup; the connector creates an internal offset topic to track binlog position
Enable schema history by setting schema.history.internal.kafka.topic to a dedicated internal topic that stores DDL history
Monitor the binlog position lag and set expire_logs_days or binlog_expire_logs_seconds on MySQL to retain enough binlog history for the connector to resume after downtime
Known gotchas
If binlog_format is not ROW, Debezium cannot capture field-level change data and will fail or produce incomplete events
The schema history topic must be separate from the data topics and should have high replication and retention settings; losing it requires a full re-snapshot
GTID-based replication is recommended for simplified failover, but requires additional MySQL server configuration; binlog file+position mode also works but is harder to manage after primary failover
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp