Data platform · MySQL replication
MySQL replication for reporting, recovery and migration, without touching the application
MySQL replication copies every insert, update and delete made in a MySQL database to another system shortly after it is committed. It feeds a reporting copy, keeps a standby ready for recovery, or bridges a migration, and the application that writes to MySQL does not change. Interkey sets it up with iblync, its own replication platform, and agrees with your MySQL team what the capture needs before anything is built.
Orientation
At a glance
What a MySQL replication engagement covers, before the detail.
- Source
- MySQL, versions and hosting confirmed in scoping
- Targets
- A reporting or standby copy, PostgreSQL or another database, Apache Kafka, NoSQL and search systems, cloud storage
- How changes are read
- From MySQL's binary log, the record of committed changes, agreed with your DBAs
- Effect on the application
- None: no new columns, triggers or code in the application
- Protection for production
- Throttling, and a queue that holds changes while the target is away
- Commercial model
- Quoted per engagement; iblync by source system, target system and data volume
In short, for decision makers
- What it does: sends only what changed in MySQL, continuously, instead of copying whole tables every night.
- What it is for: reports that stop slowing production, a standby copy for recovery, and a migration in which the old system keeps running.
- What it does not touch: the application. Changes are read from MySQL's own log, so no code, trigger or column is added.
- What decides success: logging settings agreed with the MySQL team, a primary key on every table, schema changes reported, and lag that someone watches.
What MySQL data replication must cover
MySQL usually sits under an application the business cannot stop: a store, a booking system, a customer portal. When reports, a recovery site or a new platform need its data, MySQL data replication has to meet four conditions:
- No change to the application. Its team releases nothing for replication to work.
- Every change, in order. Inserts, updates and deletes arrive in commit order.
- Limited load. The initial copy and any catch-up stay inside an agreed limit.
- Proof. Counts and checksums show the target matches, and lag is measured.
Read more
MySQL has built-in replication between MySQL servers, often enough for a plain MySQL standby. A replication platform earns its place when the target is a different system, when changes are reshaped on the way, or when the copy is a validated project deliverable. The general mechanics are in our change data capture guide; this page covers the MySQL side.
Relatedchange data capture guide
Where MySQL replication is used, and what each use asks
The capture from MySQL is similar for every use; what the target must handle, and how long the stream lives, are not.
| Use | Typical target | Ends when | What to settle first |
|---|---|---|---|
| Reporting and analytics | A separate database or cloud storage | It does not; it runs while reports need it | How stale the copy may be, and how deletes are shown |
| Disaster recovery standby | A MySQL copy at another site or in the cloud | It does not; it is part of continuity planning | Recovery point and time objectives, and how failover is tested |
| Migration bridge | PostgreSQL or another database | The cutover is complete and MySQL is retired | Type and character-set mapping, validation and the rollback path |
| Event stream | Apache Kafka | It does not; it becomes part of operations | Topic layout, message keys, ordering and who owns each consumer |
| Search or a new application | A NoSQL or search system | Usually it does not | How rows become documents, and how deletes are applied |
A stream with no end date is an integration, not a project task: give it an owner, monitoring and change management. Pairings are confirmed in scoping against iblync's published connector list.
MySQL CDC: reading changes from the binary log
Polling a "last changed" column misses deleted rows; triggers add work to every write. MySQL CDC (change data capture) normally reads the binary log, the record MySQL keeps of committed changes and the same one its built-in replication uses. Nothing is added to the application, so log-based capture is the usual choice for production. It asks a few things of the team that runs MySQL:
Read more
- Binary logging on, in row-based format, so each change carries the row values rather than the statement that produced them.
- Retention long enough to catch up after a pause.
- A capture account with the replication rights the method needs, and nothing more.
- A primary key on every table, so each update or delete lands on exactly one row of the target.
- Global transaction identifiers (GTIDs) where enabled, so the log position survives a source failover.
- Schema changes: who reports them, and how the target follows.
On a managed MySQL service some settings sit in the provider's configuration, so we check them early.
MySQL to Kafka: publishing MySQL changes as events
Streaming MySQL to Kafka lets new services react to an order or a payment without querying production. Apache Kafka is among the systems iblync's website lists; the pairing is confirmed in scoping. What makes the stream trustworthy:
- Topics and keys. One topic per table or entity, keyed by primary key, so each record's changes stay in order.
- Duplicates. After a restart a change can arrive twice; consumers handle repeats.
- Sensitive columns. Decide which may leave MySQL at all; mask or drop the rest.
How iblync replicates MySQL
iblync is Interkey's own data migration and replication platform, and MySQL is on its published connector list. It brings:
- Initial load, then continuous replication from a recorded log position, in commit order.
- Throttling, so replication does not compete with production, even while catching up.
- A queue that holds changes while the target is away.
- Resume and validation. iblync's site states that interrupted work resumes where it stopped and that validation uses checksums and row counts.
- Two-way sync for records written on both sides during a transition.
Read more
iblync's website describes its replication as real time with minimal latency, with no fixed delay; yours depends on change rate, network and target, and is measured in scoping. More on our real time replication page.
Where it may not fit. If you need one MySQL standby for another MySQL server and nothing is reshaped, MySQL's built-in replication is the first thing to evaluate; it is usually cheaper, and we will say so. If a target only needs yesterday's figures, a scheduled batch load is simpler to run. And no replica replaces backups.
Relatedreal time replication page
Reporting, disaster recovery and migration: what changes between them
- Reporting. Heavy queries move to a copy, so the application stays fast at month end; the business agrees how far the copy may lag.
- Disaster recovery. A standby at another site keeps the recovery point close. It is not a backup: a table dropped by mistake is dropped there too. Our disaster recovery page covers the wider plan.
- Migration. The new database is kept in step while it is proved, then writes move in a rehearsed cutover. For PostgreSQL, the MySQL to PostgreSQL page covers type mapping and Arabic text.
If your estate also runs other engines, the same method applies to PostgreSQL replication and SQL Server replication.
How a MySQL replication project runs
-
Scoping.
MySQL versions and hosting, tables, daily change volume, targets, sensitive columns, where the bridge runs and the lag the business accepts.
-
Agreement with the MySQL team.
Binary log format and retention, the capture account, tables without primary keys and load limits, signed off by your DBAs.
-
Initial load.
Existing data copied once from a recorded log position, throttled to stay inside the agreed load.
-
Continuous replication.
Changes since that position applied in commit order, queued if the target goes away.
-
Validation and monitoring.
Counts and checksums compared, lag measured, alerts sent to a named owner.
-
Handover or operation.
Runbook and handover to your team, or operation by Interkey under a written scope.
What Interkey delivers in Saudi Arabia
One team for scoping, capture, load, replication and monitoring, with support from Riyadh in Arabic and English. iblync is delivered with the team that operates it.
A replication stream is production data in motion, so residency applies to it. Many Saudi organisations must keep certain data inside the Kingdom under the National Cybersecurity Authority's controls (nca.gov.sa) and the Personal Data Protection Law overseen by SDAIA (sdaia.gov.sa). Where capture, queue and target run, and whether any data leaves your environment, is confirmed per engagement before the first row moves.
Relatednca.gov.sasdaia.gov.sa
What drives the cost and the timeline
We publish no price or duration for MySQL replication; the estate decides both:
- servers, tables and daily change volume;
- the number of targets and how far their models differ;
- the lag allowed;
- work on logging, primary keys and character sets;
- where the bridge runs;
- whether the stream is temporary or permanent.
Scoping turns these into a schedule range and a quotation.
Questions buyers ask
Do we have to change our application for MySQL replication to work?
No. Changes are read from MySQL's binary log, so no code, trigger or column is added to the application. The changes that may be needed are server settings, such as the log format and retention, agreed with your DBAs.
Will replication slow down our production MySQL server?
It adds some load, agreed in advance. Reading the binary log is light compared with polling or triggers, and iblync throttles the initial load and any catch-up so they stay inside the limit your team sets.
Can MySQL changes be streamed to Apache Kafka?
MySQL is on iblync's published connector list and Apache Kafka is among the systems its website lists. The pairing for your versions is confirmed in scoping, together with topic layout and message keys.
Is a MySQL replica enough for disaster recovery?
It is one part. A standby keeps the recovery point close, but it copies mistakes too, so a dropped table is dropped on the replica. Backups and a tested failover plan stay in place.
How is MySQL replication priced in Saudi Arabia?
By quotation after scoping: iblync by source system, target system and data volume, and the engagement by the work around it, such as logging changes, mapping and validation.
Can the replica and the replication bridge stay inside the Kingdom?
Yes. The capture process, the queue and the target can run on infrastructure inside the Kingdom, on-premises or in a Saudi cloud region. Which data must stay, and why, is settled before any data moves.
Next
Related pages
Next step
Scope your MySQL replication
Tell us the MySQL versions and hosting, the tables in scope, how much of the data changes each day, the target you want to feed and how far behind it may run.
Or directly
+966-11-2180999 [email protected]Tawuniya Towers, North Tower, 7th Floor, King Fahad Highway, Olaya, P.O. Box 56835, Riyadh 11564, Saudi Arabia