Skip to content
Navigation

Type at least two characters. Search covers page titles, headings, tags and database names.

↑ ↓ to navigateEnter to openEsc to close0 pages
Relationalbeginner

MariaDB

Community-developed MySQL fork with additional storage engines, built-in Galera clustering and independent governance.

2 min readBeginnerUpdated Edit this page

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.