Compare two MySQL databases
See what changed between two MySQL schemas.
Point DiffyPick at two MySQL (or MariaDB) databases and it lists every table, column and index that differs — then generates the ALTER TABLE SQL to line them up.
Why it is harder than it should be
Schemas drift between environments, and the real structure lives in the database — not in migration files nobody reads anymore.
DiffyPick reads both schemas directly and shows the difference as a clean, per-object list.
The manual way
You can dump both with mysqldump --no-data and diff the files, or query information_schema by hand; older helpers like mysqldbcompare are deprecated.
Either way you fight noise from AUTO_INCREMENT, engine and charset lines, and you still have to write safe ALTER statements yourself.
DiffyPick compares object by object and combines the changes into per-table ALTER TABLE for you.
With DiffyPick
Connect both databases
Pick the two MySQL or MariaDB connections and the database on each side.
Compare
Every differing table, column, index and foreign key is listed as a diff, color-coded and searchable.
Review and sync
Preview the generated ALTER TABLE SQL, pick what to apply, and run it — or export an HTML report.
What you get
- A per-object diff, not a noisy text dump.
- Multiple ALTERs combined into one statement per table.
- Preflight checks and one-click backup before anything runs.
- Works with MariaDB, and across PostgreSQL, SQL Server and SQLite too.
Compare your MySQL schemas now.
Free for SQLite; connect MySQL and MariaDB on a paid plan. No account needed to start.