-
Enhancement
-
Resolution: Done
-
Major
-
None
The MySQL connector in Debezium 0.1 requires MySQL to have the complete history of all tables to be monitored in its binlog. This means the connector could not be used if MySQL purges old binlogs (which it normally does), or if its row-level binlog was enabled after the tables had been created.
A newly-deployed MySQL connector should be able to obtain a consistent snapshot using the current state of the database, and then when that is complete proceed to read the binlog as in 0.1. Although obtaining a consistent snapshot of the schema and data requires a global read lock (preventing writes by other DB clients), the connector should hold this lock for as short a duration as possible.
(This issue originally included a request to support ad hoc snapshots after the connector has been running, but this is more challenging with Kafka Connect and was pulled out into DBZ-66. See the discussion below for details.)