MariaDB forked from MySQL in 2009 after Oracle’s acquisition of Sun Microsystems (which owned MySQL), driven by community concerns about Oracle’s stewardship. Over a decade later, the two have meaningfully diverged.
Where They Still Overlap
Both use largely compatible SQL syntax and the same core client protocol, which is why MariaDB has historically been a drop-in replacement for MySQL on many distros (Debian and RHEL both shipped MariaDB as the default “mysql” package for years).
Where They’ve Diverged
- Storage engines — MariaDB ships Aria and ColumnStore, which MySQL doesn’t have.
- Licensing — MariaDB stays fully GPL; some MySQL enterprise features are closed-source under Oracle.
- Replication internals — the two have diverged enough that cross-replication between them is no longer reliably supported in recent versions.
- Feature timing — each project has added features (window functions, JSON functions) on its own schedule, occasionally with subtly different syntax.
For a new project today, treat them as related but genuinely separate databases rather than interchangeable — check compatibility explicitly if you’re relying on a specific newer feature.