MYSQL 8.0 + 8.4 LTS / SCHEMA COMPARE & SYNC

MySQL schema changes.
Rehearse the next move.

Compare live MySQL schemas, select the differences to synchronize, and rehearse DDL on a shadow target. Review the live plan and recovery SQL before a change commits.

Choose your license
14-DAY TRIAL

Meet your next workflow.

Choose the installer for your computer.

On a Mac, check Apple menu → About This Mac for your chip.

Trial installers are not available here yet. Please check back for the download.

$10.95 monthly or $99 yearly One developer, up to two devices

The DDL escapementWORKFLOW STUDY
The DDL escapementA mechanical MySQL statement sequence separates each committed DDL step, a shadow rehearsal, and the reviewed recovery plan.01COMPARE02SHADOW03REVIEW04LIVE DDLONE STATEMENTAT A TIMERECOVERY SQLMYSQL / COMMIT-AWARE CHANGE

MySQL / DDL commits one statement at a time.

Illustration / example workflow
MySQL change rehearsal · reference workflow
ENGINE-AWARE RECOVERY

Engineered around MySQL DDL mechanics.

MySQL commits DDL statement by statement. dbmigrate never makes false promises about automatic rollback. Instead, it gives you shadow dry runs and reviewed rollback scripts.

Shadow Dry Runs

Before modifying production, rehearse changes against a shadow environment. dbmigrate verifies table locks, generated SQL validity, foreign key references, and storage engine compatibility in advance.

-- Shadow rehearsal against staging
ALTER TABLE shop.orders ADD COLUMN status varchar(32) NOT NULL DEFAULT 'pending';
✓ Shadow dry run passed: 0 warnings, 0 syntax errors

Reviewed Rollback Scripts

Because MySQL cannot undo committed DDL statements automatically, dbmigrate creates a reverse SQL script for every run. You can inspect the exact reverse DDL statements alongside your forward plan before applying changes.

-- Auto-generated rollback script
ALTER TABLE shop.orders DROP COLUMN status;
Stored in local run history alongside execution snapshot

Granular Selective Sync

Promote only what you intend. Select individual tables, columns, secondary indexes, foreign keys, views, and stored routines. View color-coded DDL diffs highlighting added, modified, or omitted objects.

-- Target before vs Source after
- ENGINE=InnoDB DEFAULT CHARSET=latin1
+ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

Referential Row Copying & PII Masking

Copy test datasets between MySQL instances. Use custom WHERE conditions and row limits. dbmigrate copies rows in dependency order and transforms PII in local memory with deterministic replacements before inserting.

WHERE shop.orders.status = 'shipped' LIMIT 500;
→ In-memory masking applied to user emails & addresses
LIVE SCHEMA DIFF & DDL BUILDER

Interactive Schema Diff Playground

Simulate schema divergences in real time. Add or modify columns, switch database engines, and inspect the verified, dependency-ordered DDL synchronization script.

app.orders
ColumnData TypeStatus
idPKbigint
customer_idFKbigint
created_attimestamp with time zone
statusvarchar(32)
metadatajsonb
Add Schema Column
Generated Synchronization SQL2 Added · 0 Modified
-- dbmigrate generated PostgreSQL synchronization plan
-- Protection tier: Safe Transactional DDL
BEGIN;

ALTER TABLE app.orders
  ADD COLUMN status varchar(32) DEFAULT 'pending' NOT NULL;
ALTER TABLE app.orders
  ADD COLUMN metadata jsonb;

-- Create index on added column
CREATE INDEX idx_app_orders_status
  ON app.orders (status);

COMMIT;
-- End of PostgreSQL transactional execution phase
MYSQL DETAILS

Frequently asked questions.

Which MySQL versions and distributions are supported?

dbmigrate is designed for MySQL 8.0 and MySQL 8.4 LTS. It supports self-hosted MySQL servers on Linux, Windows, and Docker, as well as managed cloud instances including Amazon RDS for MySQL, Amazon Aurora MySQL, Google Cloud SQL for MySQL, Microsoft Azure Database for MySQL, and PlanetScale. Note: MariaDB and legacy MySQL 5.7 are outside the current documented scope.

Why can MySQL schema changes (DDL) not roll back automatically?

In MySQL, Data Definition Language (DDL) statements execute with implicit commits—meaning each CREATE, ALTER, or DROP statement commits immediately to the storage engine and cannot be rolled back inside a SQL transaction. While some tools make vague promises of automatic rollback, dbmigrate is honest: it uses shadow dry runs to test DDL execution beforehand and generates reviewed rollback SQL scripts for manual recovery.

What is a shadow dry run for MySQL?

A shadow dry run applies your planned DDL statements against an isolated shadow schema or staging database instance before touching production. This verifies syntax, column defaults, constraint dependencies, and collation compatibility without risking production table locks or partial schema failure.

How does dbmigrate handle character set and collation differences?

dbmigrate inspects both table-level and column-level character sets and collations (such as utf8mb4_0900_ai_ci). Differences between source and target are flagged during comparison so you can ensure collation compatibility before applying changes.

START COMPARING MYSQL TODAY

Less guesswork.
More forward.

Experience reliable MySQL 8.0 & 8.4 LTS schema diffing and referential data copying with a 14-day free trial.

MYSQL 8.0 & 8.4 LTS14 days

Explore dbmigrate on your desktop.

  • Selective schema comparison & sync
  • Shadow dry runs & rollback SQL
  • Referential data copy with filters
  • Local AES-256-GCM encrypted state
14-DAY TRIAL

Meet your next workflow.

Choose the installer for your computer.

On a Mac, check Apple menu → About This Mac for your chip.

Trial installers are not available here yet. Please check back for the download.

macOS (Apple Silicon & Intel) / Windows x64