MariaDB vs MySQL: What Actually Differs

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.