SOLUTION · MYSQL CDC
MySQL change data capture and real-time data replication
Real-time MySQL CDC from the binary log, without scanning your tables.
Gluesync by MOLO17 captures committed changes from MySQL with a dedicated source agent that reads the binary log. It delivers those changes continuously to the databases, warehouses, caches, and event streams your teams already run. Manage every pipeline from the Core Hub web UI, the Gluesync control plane.
VENDOR COMPATIBILITY
Battle-tested on every MySQL you run
The same Gluesync MySQL agent is tested against each vendor offering below, self-managed or fully managed, so capture behaves the same wherever MySQL runs.
- MySQL Source Target Tested
- Amazon Aurora MySQL Source Target Tested
- Amazon RDS for MySQL Source Target Tested
- Google Cloud SQL MySQL Source Target Tested
- Microsoft Azure Database for MySQL Source Target Tested
- Oracle Cloud MySQL Instance Source Target Tested
WHO THIS IS FOR
MySQL teams moving operational data into modern systems
- MySQL DBAs who must approve binary logging, a dedicated replication user, and a staging schema, with a short list of server settings and grants to review before anything touches production
- Data platform leads feeding Snowflake, BigQuery, Amazon Redshift, data lakes, Kafka, or Redis from MySQL systems of record, who want one Core Hub for every source and target
- Teams replacing nightly dumps, timestamp polling, or a commercial CDC license for MySQL with a supported path that does not require rebuilding pipelines
- Engineers who prototyped the Debezium MySQL connector and now run Kafka Connect, offsets, and on-call for a pipeline the business treats as infrastructure
THE PROBLEM
MySQL data that only moves in batches goes stale and loads production
MySQL often holds the system of record for web and SaaS applications, so scheduled exports and timestamp polling leave analytics and caches working from copies that are already behind, while each query competes with production. Buyers searching for MySQL CDC or real-time MySQL to Snowflake usually weigh the same options: MySQL's native replication keeps copies inside the MySQL family, Debezium means running Kafka Connect and everything around it, and cloud-managed migration services usually stay inside one cloud.
Gluesync addresses that pattern with per-agent CDC. A MySQL source agent reads the binary log, and target agents write to the destinations you choose. Each source system has its own agent and native change stream, and Core Hub runs the pipelines.
HOW IT WORKS
How Gluesync does MySQL CDC
Binary log streaming, not table scans
The MySQL agent reads changes from the binary log using MySQL's native binary log streaming protocol over a TCP socket. It connects through the built-in MySQL JDBC driver, which Gluesync bundles.
- Row changes are consumed from the binary log as they are committed and forwarded to the target; an update that changes a primary key is applied as a delete plus an insert.
TRUNCATEoperations are captured on read and forwarded to the target.- Before and after images are enabled automatically, so the agent can compare each row with its previous value.
- The agent connects to a master, replica, or MaxScale endpoint and registers with the master under its own server ID.
What your DBA enables
The agent needs binary logging on the server and a dedicated user. These are the settings, in order.
- In the
[mysqld]section of the MySQL configuration file, setserver_id,log_bin, andbinlog_format=ROW, then restart MySQL. - Create a dedicated user, then grant it
REPLICATION SLAVEon*.*andSELECTonmysql.innodb_table_statsfor table statistics. - Give the same user permission to create and write tables in a staging schema, the temporary staging area.
- Enable TLS on the agent. AWS RDS, like other managed services, accepts connections only over SSL, so set Use SSL to true during setup.
Resilience: cache, persisted positions, and technical fields
Source agents write changes to a local ArenaCache first. The MySQL reader stores its binary log position in Core Hub rather than in a local file, so moving or restarting the agent does not reset the reader. Prometheus metrics report that position as binlogPosition and operationSeq.
- Technical fields: optionally add
TRANSACTION_ID,TRANSACTION_TIMESTAMP, andTRANSACTION_OPERATIONto the replicated data for audit and lineage. - Recursion protection: when enabled, the agent skips changes made by its own connection user, which matters in bi-directional setups.
Architecture around Core Hub
Lightweight agents sit close to each system. Core Hub handles the web UI, the REST API, and routing between source and target agents. A pipeline groups a source agent, a target agent, and the entities they move. Each MySQL pipeline can start with a snapshot, which Core Hub runs as an initial load or re-sync, and then continue with CDC. Core Hub and agents deploy with Docker, Docker Compose, or Kubernetes.
CAPTURE OPTIONS
The MySQL agent: one capture path for every MySQL source
MySQL has one Gluesync source agent. It reads the binary log for CDC and runs snapshots and target writes through the same Core Hub pipelines.
| Agent | Capture technique | Versions | Best for |
|---|---|---|---|
| MySQL agent ↗ | Binary log (binlog) streaming over a TCP socket, with the built-in JDBC driver | MySQL 5.7.25 and later, including 8.4; Community, Enterprise, Percona, AWS RDS, and MaxScale endpoints | Log-based capture from MySQL 5.7.25 or later when binary logging can be enabled in ROW format. |
TARGETS AND TOPOLOGIES
Keep MySQL as the source while modernizing destinations
Use the integrations directory to pair MySQL as a source with relational engines, NoSQL stores, cloud warehouses, object and lake storage, or event streams. The MySQL agent also works as a target over the built-in JDBC driver, with optional TLS. Bulk load into MySQL needs local_infile=1 on the server.
Gluesync keeps pace with your change volume at any scale. MOLO17 Professional Services can size the deployment with your team.
Target agents write in optimized batches, never row by row, and switch to native bulk load for both snapshots and CDC on targets such as Snowflake, Google BigQuery, Amazon Redshift, Microsoft SQL Server, and PostgreSQL.
- Offload reporting and API reads from MySQL to PostgreSQL or SQL Server: see database offload
- Land MySQL changes in Snowflake, BigQuery, Amazon Redshift, or a data lake as they happen: see warehouse sync
- Publish MySQL changes to Apache Kafka or another event-streaming platform
- Run a snapshot plus CDC to keep MySQL and a cloud target aligned until cutover: see cloud migration
FAIR, HIGH-LEVEL COMPARISON
Where Gluesync fits among MySQL CDC approaches
| Approach | What buyers usually get | Where Gluesync fits |
|---|---|---|
| MySQL native replication | Built into MySQL and designed for copies between MySQL servers; the targets stay inside the MySQL family | One binary log reader feeds non-MySQL targets such as warehouses, caches, and streams, managed from one Core Hub |
| Debezium MySQL connector with Kafka | Open-source binlog-based capture; you run Kafka, Kafka Connect, offsets, and upgrades yourself | A productized MySQL agent with Core Hub operations and best-in-class MOLO17 enterprise support (rated 4.9/5 by customers); read the Debezium alternative comparison |
| Qlik Replicate, Fivetran HVR, or similar commercial CDC | Mature replication portfolios with broad source coverage; packaging and licensing vary by product | One Core Hub for MySQL sources and many targets, with a documented MySQL capture path and one control plane for every target |
| Cloud-managed CDC services such as AWS DMS | Convenient inside one cloud; capture options and targets follow that provider | Agents run where MySQL runs, on-premises or in any cloud, and deliver to targets across providers |
| DIY exports, timestamp polling, or custom binlog readers | Full control with high build and operations cost; polling adds read load to production | A productized binlog agent with snapshots, persisted positions, and monitoring; read batch ETL vs real-time data replication |
RELATED CONTENT
MySQL CDC research and implementation detail
- Gluesync for MySQL 8+: high-performance change data capture
- New MariaDB agent for Gluesync, and how it relates to MySQL
- Batch ETL vs real-time data replication: how to choose
- CDC streaming without source overhead
- Debezium alternative: managed CDC versus Kafka + Debezium
- MySQL agent overview ↗
- MySQL CDC setup and configuration ↗
- Target MySQL setup ↗
FAQ
MySQL CDC questions
What is MySQL CDC with Gluesync?
Change data capture from MySQL by reading committed changes from the binary log with the MySQL agent, then delivering inserts, updates, deletes, and truncates to configured targets through Core Hub.
Which MySQL versions does the MySQL agent support?
MySQL 5.7.25 and later, including 8.4. The agent works with Community, Enterprise, and Percona editions, with AWS RDS for MySQL, and with MaxScale endpoints.
What does the DBA have to enable on the MySQL server?
Binary logging in ROW format, with server_id and log_bin set in the MySQL configuration and a restart. Then a dedicated user with REPLICATION SLAVE and SELECT on mysql.innodb_table_stats, plus create and write permission in a staging schema.
Can Gluesync read from a replica or a MaxScale endpoint?
Yes. Master, replica, and MaxScale endpoints are all supported connection points, and the agent registers with the master under its own server ID.
Does Gluesync work with managed MySQL services?
Yes. The MySQL agent is tested against Amazon Aurora MySQL, Amazon RDS for MySQL, Google Cloud SQL for MySQL, Azure Database for MySQL, and Oracle Cloud MySQL. Enable binary logging and set Use SSL to true, because managed services accept only TLS connections.
Which changes does the MySQL agent capture, and does it do an initial load?
The agent captures inserts, updates, deletes, and TRUNCATE operations from the binary log, and it enables before and after images automatically. For the initial load, Core Hub snapshot tasks copy the existing data, and re-syncs use the same mechanism.
Can Gluesync write to MySQL, not only read from it?
Yes. The MySQL agent supports the target role over the built-in JDBC driver. Bulk load needs local_infile=1 on the server.
Where should we start?
Start a Gluesync trial to test the MySQL agent against your version, topology, and targets. Or talk to MOLO17 before you change any server settings, so the binary logging and grant changes match your DBA policy.
CDC BY SOURCE DATABASE
Other sources Gluesync captures from
Evaluate Gluesync with your MySQL binary logs
Start a trial on your infrastructure, or talk to MOLO17 about your MySQL version, topology, managed service, and targets.