MariaDB
Community-developed MySQL fork with additional storage engines, built-in Galera clustering and independent governance.
What it is
A GPL-licensed fork of MySQL created in 2009 after Oracle's acquisition of Sun, governed by the MariaDB Foundation. Early versions were drop-in replacements; since MySQL 8.0 the two have diverged enough that they should be treated as related but distinct engines.
Architecture
The same SQL-layer-over-storage-engine design as MySQL, with InnoDB as the default transactional engine. The operational differences are concentrated in replication (its own GTID format), the data dictionary, and the availability of Galera in the distribution.
Best use cases
- Deployments wanting a GPL licence and independent governance.
- Workloads that benefit from synchronous multi-primary clustering with vendor-supported tooling.
- Environments already standardised on MariaDB.
When not to use it
- When you depend on MySQL-specific behaviour — JSON internals, multi-valued indexes, the transactional data dictionary, some 8.0 replication features.
- When your tooling is validated only against MySQL. Verify rather than assume.
Data model
Identical to MySQL for practical purposes, plus system-versioned (temporal) tables, sequences as
first-class objects and RETURNING on INSERT and DELETE.
Consistency and transactions
InnoDB semantics: REPEATABLE READ by default, MVCC reads, next-key locking. Galera adds
certification-based conflict detection, where a conflict surfaces as a deadlock error at commit.
Scaling model
Vertical, replicas, or Galera for synchronous multi-primary availability. Galera does not add write throughput — every node applies every write.
Replication
Asynchronous and semi-synchronous replication with MariaDB's own GTID format
(domain_id-server_id-sequence), which is incompatible with MySQL's. Multi-source replication is
straightforward thanks to GTID domains. Galera provides synchronous clustering.
Backup and recovery
mariabackup for physical backups — not Percona XtraBackup, which targets MySQL's InnoDB variant.
mariadb-dump for logical dumps, binary log replay for point-in-time recovery.
Monitoring
Standard InnoDB metrics plus userstat, which exposes per-user, per-table and per-index statistics
with no direct MySQL equivalent. Galera clusters need the wsrep_* status variables.
Common mistakes
Production checklist
See MariaDB Production Checklist.