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.

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.

Common uses of MySQL replication and what each one requires
UseTypical targetEnds whenWhat to settle first
Reporting and analyticsA separate database or cloud storageIt does not; it runs while reports need itHow stale the copy may be, and how deletes are shown
Disaster recovery standbyA MySQL copy at another site or in the cloudIt does not; it is part of continuity planningRecovery point and time objectives, and how failover is tested
Migration bridgePostgreSQL or another databaseThe cutover is complete and MySQL is retiredType and character-set mapping, validation and the rollback path
Event streamApache KafkaIt does not; it becomes part of operationsTopic layout, message keys, ordering and who owns each consumer
Search or a new applicationA NoSQL or search systemUsually it does notHow 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.

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

  1. Scoping.

    MySQL versions and hosting, tables, daily change volume, targets, sensitive columns, where the bridge runs and the lag the business accepts.

  2. 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.

  3. Initial load.

    Existing data copied once from a recorded log position, throttled to stay inside the agreed load.

  4. Continuous replication.

    Changes since that position applied in commit order, queued if the target goes away.

  5. Validation and monitoring.

    Counts and checksums compared, lag measured, alerts sent to a named owner.

  6. 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.

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 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.

Required field

By sending this form, you agree to our Privacy Notice.

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

or See where it is used

Published by Interkey. Last updated . Interkey is registered in Riyadh, Saudi Arabia under commercial registration 1010156897.