MariaDB or MySQL – which database man­age­ment system has the edge? Initially, MariaDB aimed to create a drop-in re­place­ment with strong open-source community standards, but now both projects follow com­plete­ly different de­vel­op­ment goals. Discover what sets them apart with us.

Managed Database Services
Time-saving database services
  • En­ter­prise-grade ar­chi­tec­ture managed by experts
  • Flexible solutions tailored to your re­quire­ments
  • Leading security in ISO-certified data centers

An overview of the key features of MariaDB and MySQL

MySQL is a proven database man­age­ment system available as open-source software, com­ple­ment­ed by numerous en­ter­prise ex­ten­sions. The MariaDB de­vel­op­ment team, led by Michael Widenius, has improved MySQL’s core software by in­cor­po­rat­ing a variety of new features. Who might consider switching from MySQL to MariaDB? The table below high­lights the key dif­fer­ences between both DBMS.

Feature MySQL 8.0 MariaDB 11
Release Year 1995 2009
Developer Oracle MariaDB Cor­po­ra­tion / Foun­da­tion
License GPL + pro­pri­etary GPL v2
OS Support Linux, Windows, macOS Broader Linux support
Repli­ca­tion GTID, Master/Slave GTID, Galera Cluster
Par­ti­tion­ing MySQL Cluster Spider, Galera
Role-Based Control Since 8.0 Since 10.0.5
Au­then­ti­ca­tion SHA-256 ed25519
En­cryp­tion InnoDB InnoDB, Aria, Logs
Firewall & Masking Pro­pri­etary Via MaxScale (BSL)
An­a­lyt­i­cal Functions Column­Store
Backup En­ter­prise Backup MariaDB Backup (GPL)
Database Engines InnoDB, MyISAM … + Column­Store, MyRocks, Aria …
SQL/NoSQL In­ter­faces Yes / Yes Yes / Yes
Con­nec­tors including C, Java, PHP + Excel, Swift, R

The de­vel­op­ment of MySQL and MariaDB

A key figure behind MariaDB and MySQL is Finnish software developer Michael “Monty” Widenius. Together with the Swedes David Axmark and Alan Larsson, Widenius founded the joint-stock company MySQL AB, which released the first version of the open-source database man­age­ment system (DBMS) MySQL in 1995. This cul­mi­nat­ed in the sale of the software project to Sun Mi­crosys­tems in 2008. In 2009, Widenius left the software project along with other MySQL core de­vel­op­ers and focused on de­vel­op­ing the MySQL fork MariaDB. The de­vel­op­ment team feared that Oracle would face a conflict of interest if the company developed the open-source software MySQL alongside pro­pri­etary database software.

The de­vel­op­ment of the MySQL fork initially took place through Monty Program AB, founded in 2009. This merged with SkySQL in 2014 to form the MariaDB Cor­po­ra­tion. The Community Project MariaDB Server is developed by the MariaDB Foun­da­tion. MariaDB strongly focuses on open de­vel­op­ment. Two prin­ci­ples are at the forefront:

  • The source code of program parts under de­vel­op­ment is available through public repos­i­to­ries.
  • All de­vel­op­ment steps are publicly doc­u­ment­ed.
Tip

Create a secure ‘home’ for your web projects with SQL server hosting from IONOS.

Com­par­i­son of MariaDB vs. MySQL

The database man­age­ment systems MySQL and MariaDB are based on the same software core. MariaDB is a fork (a split) from MySQL 5.1, but over time, it has developed into an in­de­pen­dent database man­age­ment system. We compare the dif­fer­ences between the current MariaDB and MySQL GA versions (General Avail­abil­i­ty) MySQL 8.0.43 and MariaDB 11.8.2.

Compute Engine
The ideal IaaS for your workload
  • Cost-effective vCPUs and powerful dedicated cores
  • Flex­i­bil­i­ty with no minimum contract
  • 24/7 expert support included

Database structure

The de­vel­op­ment of MariaDB aims to maintain full com­pat­i­bil­i­ty with MySQL’s database structure, APIs, and con­fig­u­ra­tion files, offering users a seamless drop-in re­place­ment. An upgrade from MySQL to MariaDB or vice versa should be just as easy as an upgrade between two different MySQL versions.

In principle, both database man­age­ment systems are based on the same database structure. Both systems adhere to the re­la­tion­al database model. However, for ad­min­is­tra­tive tasks and backups, starting with MariaDB version 10.5, mariadb-dump and mariadb-admin are used instead of mysqldump or mysqladmin as in MySQL.

Note

MariaDB has es­tab­lished itself as a binary-com­pat­i­ble 1:1 re­place­ment for MySQL. However, starting with MySQL version 8.0, this com­pat­i­bil­i­ty is no longer present.

Database engines

MariaDB aims to dif­fer­en­ti­ate itself from MySQL in the future primarily through flex­i­bil­i­ty. Users have access to a con­sis­tent­ly growing number of al­ter­na­tive database engines for special use cases, in addition to the standard engines supported by MySQL.

A database engine is a storage subsystem that enables the database man­age­ment system to create, read, update, and delete data in database tables – see CRUD.

The following table shows the available database engines for MySQL 8.0.43 and MariaDB 11.8.2 (according to the doc­u­men­ta­tion).

Database Engine MySQL 8.0.43 MariaDB 11.8.2 De­scrip­tion
InnoDB / XtraDB InnoDB is standard in both systems. XtraDB was used in MariaDB up to version 10.1
MyISAM Outdated storage system without trans­ac­tion support
MEMORY For temporary in-memory tables with fast access
CSV Stores tables in CSV format
Archive Com­press­es data for long-term storage
BLACKHOLE Accepts data but doesn’t store it – used for logging/testing
Merge Merges multiple MyISAM tables with the same structure
Federated / Fed­er­at­edX Access to remote tables via network (MariaDB: Fed­er­at­edX)
Column­Store Column-oriented engine for big data analytics
Aria Trans­ac­tion-safe MyISAM al­ter­na­tive for temporary tables
CONNECT Access to external data sources like CSV, XML, ODBC
Sequence Generates number sequences (e.g., 1, 2, 3 …)
Spider Sharding engine with support for XA trans­ac­tions

Database queries

In practice, MySQL and MariaDB are virtually identical. Both DBMS strive for full com­pat­i­bil­i­ty with the SQL database language, allowing users to use the same SQL state­ments to create, update, retrieve, or delete database entries.

Tip

An in­tro­duc­tion to basic SQL state­ments is offered in our MySQL tutorial for beginners.

Per­for­mance

Does MariaDB offer better per­for­mance compared to MySQL? Benchmark tests like the DBT-3 suggest it might. An important factor is the database engine being used. Both developer com­mu­ni­ties provide benchmark tests for setups with different database engines on their re­spec­tive project websites.

MariaDB scores here not only with a wide selection of al­ter­na­tive database engines, but it also offers an efficient optimizer for SQL queries. Starting with version 10.0.1, MariaDB no longer relies on internal sta­tis­tics of the re­spec­tive database engine for query op­ti­miza­tion, but on engine-in­de­pen­dent table sta­tis­tics. These are stored as con­ven­tion­al tables in the database and allow for gathering and eval­u­at­ing sig­nif­i­cant­ly more data to determine an optimal plan for executing SQL state­ments.

Note

In MariaDB doc­u­men­ta­tion, in­ter­est­ed in­di­vid­u­als can find various guides for op­ti­miz­ing database per­for­mance. MySQL also offers extensive in­for­ma­tion­al material for database tuning (Oracle web account required).

High avail­abil­i­ty

Both MySQL and MariaDB are suitable for scenarios with dis­trib­uted databases. To offer users highly available systems with linear scal­a­bil­i­ty, both software projects provide cluster solutions:

MySQL Cluster is an ACID-compliant real-time database with a multi-master ar­chi­tec­ture and no single point of failure. It offers up to 99.9999% avail­abil­i­ty, hor­i­zon­tal scaling on standard hardware, auto-sharding, as well as SQL and NoSQL in­ter­faces.

MariaDB Galera Cluster has been directly in­te­grat­ed since version 10.1. It also features a multi-master ar­chi­tec­ture and ex­clu­sive­ly uses InnoDB (or XtraDB). MaxScale is also employed for dis­trib­uted databases. The con­fig­urable proxy for load balancing provides features like failover, caching, read/write splitting, and DoS pro­tec­tion. Plugins provide the ability to customize and filter database access.

Note

Since version 2, MaxScale is under the Business Source License (BSL). The source code is freely available, but usage is re­strict­ed. After three years, the license au­to­mat­i­cal­ly converts to a GPL-like open-source license.

Security

Both MySQL and MariaDB offer en­cryp­tion features for data at rest. MySQL im­ple­ments en­cryp­tion of data stored in the database using the database engine InnoDB at the ta­ble­space level. En­cryp­tion of in­di­vid­ual database tables is not possible.

Ta­ble­spaces are logical storage units of re­la­tion­al database engines like InnoDB, which contain all data of the database system. Each ta­ble­space includes at least one datafile—a physical file of the un­der­ly­ing operating system where both database tables and indexes are stored.

Since version 10.1, MariaDB offers sig­nif­i­cant­ly more dif­fer­en­ti­at­ed en­cryp­tion features. These include data-at-rest en­cryp­tion at the following database levels:

  • InnoDB ta­ble­spaces
  • InnoDB tables
  • InnoDB log files
  • Aria tables
  • Temporary files
  • Binary log data

MariaDB also offers a feature with rolling en­cryp­tion keys that allows you to set an ex­pi­ra­tion date for en­cryp­tion keys.

Both database man­age­ment systems support the Key Man­age­ment Service (KMS) from Amazon Web Services (AWS) via plugin, as well as SSL-encrypted con­nec­tions. For user au­then­ti­ca­tion, MySQL and MariaDB also rely on a plugin system. The MySQL de­vel­op­ment team provides users with two au­then­ti­ca­tion plugins, sha256_password and caching_sha2_password. The latter offers server-side caching in addition to standard au­then­ti­ca­tion via Secure Hash Algorithm, enabling faster re-au­then­ti­ca­tion. MariaDB also used SHA-1 with the Secure Hash Algorithm up to version 10.1.21. Since version 10.1.22, the ed25519 plugin has been employed. Ed25519 is an EdDSA signature scheme that combines SHA-2 with Curve25519.

A unique feature of MariaDB in the field of database security is the role-based access control Role Based Access Control, RBAC, which has been natively im­ple­ment­ed in the DBMS since version 10.0.5. It sig­nif­i­cant­ly sim­pli­fies the man­age­ment of access rights and reduces errors in manual rights as­sign­ment. However, MySQL has caught up with this feature: Since MySQL 8.0.0 (2018), MySQL also supports roles as part of its user and rights man­age­ment functions.

Ecosystem

With the dual licensing system, Oracle pursues an open-core strategy with MySQL. While the core program MySQL is available free of charge as a community edition with public source code, various ex­ten­sions for the database man­age­ment system are offered only in com­bi­na­tion with one of the com­mer­cial editions. However, thanks to a strong con­nec­tion with the open-source community, the MariaDB de­vel­op­ment team is able to implement in­ter­faces to open-source al­ter­na­tives to most pro­pri­etary MySQL products in MariaDB.

Function MySQL MariaDB Server
Mon­i­tor­ing MySQL En­ter­prise Monitor (pro­pri­etary) Webyog Monyog (pro­pri­etary)
Backup MySQL En­ter­prise Backup (pro­pri­etary) MariaDB Backup (Fork of Percona Xtra­Back­up, GPL)
SQL Man­age­ment MySQL Workbench (GPL/pro­pri­etary) Webyog SQLyog (GPL/pro­pri­etary)
Load Balancing & Routing MySQL Router (GPL/pro­pri­etary) MariaDB MaxScale (BSL)
Firewall MySQL En­ter­prise Firewall (pro­pri­etary) MariaDB MaxScale (BSL)

Support

Pro­fes­sion­al support is available for both MySQL and MariaDB only for paying customers. MySQL provides 24/7 support, patches, updates, technical advice, and remote trou­bleshoot­ing through the paid Oracle Premier Support license.

The MariaDB Cor­po­ra­tion also provides 24/7 support, security updates, per­for­mance con­sult­ing, and migration as­sis­tance under a sub­scrip­tion - even for MySQL. Since many original MySQL de­vel­op­ers now work at MariaDB, the company boasts deep expertise in both systems.

Doc­u­men­ta­tion and community

MySQL is owned by the Oracle Cor­po­ra­tion, which publishes extensive doc­u­men­ta­tion of all open-source MySQL projects on the official MySQL website. Ad­di­tion­al­ly, the user community has the following options to learn about MySQL:

Re­spon­si­bil­i­ty for the doc­u­men­ta­tion of MariaDB lies with the MariaDB Foun­da­tion, which relies on the user community. Those who wish to con­tribute to the de­vel­op­ment and doc­u­men­ta­tion of MariaDB servers or open-source ap­pli­ca­tions in the MariaDB ecosystem can find relevant in­for­ma­tion on the MariaDB Foun­da­tion website.

What use cases are suitable for MariaDB or MySQL?

MariaDB is well-suited for internal business ap­pli­ca­tions that you want to operate without license costs. Many companies use MariaDB in web platforms, content man­age­ment systems, or as a database for reporting and analysis. In dis­trib­uted systems with many si­mul­ta­ne­ous read and write accesses, MariaDB also shows strengths. If you are working on Linux servers or want to replace a MySQL in­stal­la­tion, you benefit from com­pat­i­bil­i­ty and ex­ten­si­bil­i­ty.

MySQL showcases its strengths in large, stable pro­duc­tion systems. Typical use cases include online shops, booking systems, SaaS platforms, or financial ap­pli­ca­tions with high re­quire­ments for avail­abil­i­ty and trans­ac­tion security. If you’re operating ap­pli­ca­tions in the cloud—such as on AWS, Google Cloud, or Oracle Cloud—you often directly resort to MySQL. MySQL is also the right choice for highly struc­tured JSON pro­cess­ing or when you need SLA-backed support.

Con­clu­sion to the MariaDB vs. MySQL com­par­i­son

MySQL is a mature database system with wide­spread use. However, many en­ter­prise features like mon­i­tor­ing, backup, and security are only included in paid editions. MariaDB was developed as a fork of MySQL and has es­tab­lished itself as a fully-fledged open-source al­ter­na­tive. Many Linux dis­tri­b­u­tions use it by default. Exclusive features like MaxScale and Column­Store demon­strate its growing in­de­pen­dence.

The decision between MySQL and MariaDB ul­ti­mate­ly depends less on the name and more on which system better fits your ap­pli­ca­tion scenario.

Tip

In other guides, we have also compared MariaDB vs. Post­greSQL and MariaDB vs. MongoDB for you.

Go to Main Menu