MariaDB is a open-source relational database management system (RDBMS) sharing a common heritage with MySQL, from which it was forked in 2009 by original MySQL developers following Oracle Corporation's acquisition of Sun Microsystems, with the intent to keep it free and open-source software under the GNU General Public License.

MariaDB originated as a drop-in replacement for MySQL; the two databases have diverged since version 5.6 in some features, syntax, and behaviour. Over sixteen years of independent development, MariaDB has evolved into a distinct database with capabilities spanning transactional, analytical, and AI workloads.

The MariaDB Foundation is a non-profit organisation that safeguards the open-source development of MariaDB independently of any commercial entity. MariaDB plc is a commercial entity providing enterprise products, support, and cloud services, owns the MariaDB trademark, and is the largest contributor to MariaDB's codebase.

Michael "Monty" Widenius, one of the founders of MySQL AB and the creator of MySQL and MariaDB, serves as the CTO of both MariaDB Foundation and MariaDB plc.

Name and logo MariaDB is named after founder Michael Widenius' younger daughter, Maria. MySQL is named after his other daughter, My. Its logo consists of a sea lion, that Monty Widenius chose based on his encounter with live sea lions while snorkeling with his daughter in the Galápagos Islands.

History

Origins and MySQL compatibility (2009–2012) MariaDB was created in 2009 by Michael "Monty" Widenius and other original developers of MySQL, following Oracle Corporation's declaration of an acquisition of Sun Microsystems, which had owned MySQL since 2008. Concerned that Oracle would restrict MySQL's open-source development, Widenius and co-developers forked the codebase to ensure it remained freely available under the GNU General Public License.

The first release, MariaDB 5.1.38, was published on 29 October 2009. Following Oracle's acquisition, large numbers of the MySQL engineering team left Oracle and joined the MariaDB project through Widenius's company Monty Program Ab. The company used the Hacking Business Model and was thus co-owned by all the employees.

Early versions used version numbers that mirrored MySQL — 5.1, 5.2, 5.3, and 5.5 — to signal drop-in compatibility. MariaDB published 5.2 and 5.3 releases that MySQL itself skipped. The primary focus of this period was on improving the optimizer and storage engines: the Aria engine was developed as a crash-safe replacement for MyISAM, and additional engines including FederatedX, OQGraph, and PBXT were introduced or improved.

The Wikimedia Foundation migrated Wikipedia's databases to MariaDB in 2013. Google and Mozilla were also prominent first users. The first major distribution to ship MariaDB as the default database was openSUSE 12.3 (2013), followed by Fedora 19 later that year.

Independent development (2012–present) In 2012, the developers announced that MariaDB would move to a new 10.y.x version series, explicitly signalling that the project was developing independently rather than tracking MySQL releases.

The MariaDB 10.y.x series, beginning with 10.0 in 2014, established several capabilities that distinguished MariaDB from MySQL, including virtually synchronous multi-primary clustering through Galera Cluster and an Oracle compatibility mode enabling PL/SQL stored procedure syntax. The first long-term support (LTS) release was 10.6 in 2021.

The MariaDB 11.y.x series began in 2022, with its most significant development being native vector search capabilities introduced in 2024, enabling AI-oriented workloads without requiring a separate extension. These became generally available in the 11.8 LTS release in May 2025.

The MariaDB 12.y.x series began with MariaDB 12.0 in August 2025, introducing a rolling release track alongside the established LTS model. The series has seen a growing number of outside contributors; the May 2026 releases received contributions from 57 external (non MariaDB plc) contributors.

MariaDB 13.0 was released as a preview rolling release in March 2026, with themes including expanded procedural SQL, engine and performance improvements, and enhanced observability. The release incorporated a notable number of community-contributed pull requests.

MariaDB's roadmap is collaboratively shaped by MariaDB plc and community input. Contributors can propose features or file items directly in the project's JIRA issue tracker. Technical features

MySQL compatibility The two main features that distinguish MariaDB and MySQL from PostgreSQL are the usage of threads instead of processes, and integrated, wide support for replication setups, both local and global. This includes geo-distributed replication and multi-primary setups via Galera Cluster.

MariaDB's API and protocol are compatible with those used by MySQL, including support for native non-blocking operations and progress reporting. Most connectors, libraries, and applications built for MySQL work with MariaDB. The official MariaDB connectors are licensed under the LGPL, permitting use in commercial applications without copyleft requirements, and are widely used by OS distributions to connect to both MariaDB and MySQL.

The on-disk format of MySQL and MariaDB were identical up to MySQL 5.7. MySQL 8.0 changed the on-disk format, including removing the .frm schema files, changing the default authentication protocol, and removing and changing several other features, meaning that moving data between MySQL 8.0+ and MariaDB requires a dump and restore. All main user-visible features largely share the same syntax, making it relatively straightforward to migrate from MySQL to MariaDB. Replication between MySQL and MariaDB in both directions remains possible.

Some features diverge further, including GTID replication format and JSON storage implementation.

MariaDB includes a built-in thread pool in all editions, including the community release, managing connections through a small pool of worker threads rather than a one-thread-per-connection model. MySQL's thread pool, long available only in the commercial MySQL Enterprise Edition, has been available in MySQL Community Edition since version 26.7.0 (Early Access).

Oracle compatibility Oracle compatibility mode (sql_mode=ORACLE), available since MariaDB 10.3. The mode is designed to support incremental migration from Oracle Database, allowing applications to be ported on a per-feature or per-application basis rather than requiring a complete rewrite. Oracle mode enables PL/SQL stored procedure syntax, Oracle-compatible NULL handling, and Oracle-style functions including NVL() and DECODE(). In many cases, Oracle applications can be run unchanged with MariaDB by replacing Oracle's ODBC or JDBC connector with the MariaDB connector. Oracle mode was originally developed in collaboration with DBS Bank.

Sequences, created with CREATE SEQUENCE, are first-class database objects independent of any specific table, supporting descending sequences and fine-grained caching control; MySQL has no equivalent CREATE SEQUENCE statement.

Transactions and concurrency MariaDB provides fully ACID-compliant transactions with support for multiple isolation levels: read uncommitted, read committed, repeatable read, and serialisable. The default storage engine, InnoDB, implements multiversion concurrency control (MVCC), allowing readers and writers to operate concurrently without blocking each other. From MariaDB 11.8, snapshot isolation defaults to strict mode, ensuring transactions see a consistent view of the database from their start time.

Storage engines MariaDB supports a pluggable storage engine architecture, allowing different engines to be selected per table to match workload requirements — a broader range than the InnoDB-focused default of MySQL.

InnoDB — the default engine, providing ACID-compliant transactions, row-level locking, foreign key support, and crash recovery. Aria — a crash-safe engine used internally for temporary tables and system tables, with crash recovery through a write-ahead transaction log. MyRocks — based on RocksDB, a log-structured merge-tree engine developed by Meta, offering higher write throughput and better compression for write-heavy workloads. Heap/Memory — an in-memory storage engine for fast temporary data storage; data is lost on server restart. Spider — a sharding engine that distributes data across multiple MariaDB instances, allowing them to be queried transparently as a single table; supports partitioning and XA transactions. CONNECT — allows MariaDB to query external data sources including CSV, ODBC, JDBC, MongoDB, and other formats as standard SQL tables. DuckDB — a pluggable storage engine that brings DuckDB's columnar analytical engine inside MariaDB Server.

Pluggable architecture Beyond storage engines, MariaDB has a set of pluggable APIs. Plugin categories include:

Authentication methods Full-text search — including Mroonga for CJK languages Audit — logging database activity for security and compliance Encryption key management — including integration with HashiCorp Vault and AWS Key Management Monitoring and statistical plugins Password validation Handler socket — a high-speed API for using InnoDB tables as a key–value store Compression methods — bzip2, lz4, lzma, lzo, and snappy Pluggable data types — including inet, json, uuid, and mysql_json User-defined functions — loadable in C, C++, or Rust. Both simple and group-by functions are supported.

Plugins can be loaded or replaced at runtime without rebuilding the server. A curated catalogue of plugins and other MariaDB-compatible tools is maintained by the MariaDB Foundation as the MariaDB Server Ecosystem Hub.

Analytics MariaDB supports analytical workloads through ColumnStore, a columnar storage engine that stores data by column rather than by row, reducing I/O for aggregation queries and making it suited to data warehouse and business intelligence use cases. Standard SQL analytical capabilities including window functions and common table expressions are supported across all storage engines. The MariaDB Enterprise edition from MariaDB plc can use Exasol to speed up analytical queries.

SQL language MariaDB supports standard SQL including stored procedures, functions, triggers, views, window functions, and the JSON data type with a comprehensive set of document storage and querying functions.

System-versioned tables, conforming to the SQL:2011 standard, automatically record the complete history of every row. Historical data can be queried using the FOR SYSTEM_TIME AS OF clause to retrieve the state of a table at any past point in time, without manually maintained audit tables or triggers.

The INSTANT algorithm for ALTER TABLE allows column additions, drops, and default changes to complete in microseconds by updating only metadata, without rebuilding the table. Since MariaDB 11.2, non-instant schema changes run non-blocking by default, allowing concurrent reads and writes during the operation.

Replication and high availability MariaDB supports primary-replica replication using a binary log, with asynchronous and semi-synchronous modes. Multi-source replication allows a replica to receive changes from multiple primary servers simultaneously, and parallel replication reduces lag by applying changes concurrently.

Galera Cluster is a virtually synchronous multi-primary replication solution built directly into the MariaDB server, allowing writes to any node while maintaining consistency across the cluster.

Security MariaDB supports role-based access control, allowing sets of privileges to be assigned to named roles and granted to users, simplifying permission management in large deployments.