MySQL is a very popular open source relational database management system founded in the early nineties.
On the other hand, MariaDB is a branch off MySQL with the sole aim of serving as a drop-in replacement for MySQL, providing more features and better performance.
In the first place, there’s a little known history between the two database management systems. You see MySQL was originally created by a Swedish company in the early 1990’s.
In fact it became so popular leading to the dominance of the LAMP (Linux, Apache, MySQL, PHP/Python/Perl) stack of technologies that millions of websites across the WWW are built on.
MariaDB vs MySQL
However, along the line the company behind MySQL was acquired by Sun Microsystems and then Sun Microsystems was acquired by Oracle.
As a result, one of the original founders of MySQL by the name Michael “Monty” Widenius felt that Oracle (given its own flagship Oracle DBMS product) won’t give MySQL the attention it deserves due to the apparent conflict of interest.
Thus he left, founded his own company and created MariaDB – which is a fork of MySQL.
Therefore, when comparing MariaDB vs MySQL you can expect to see a lot f similarities between the two database management systems.
After all, they both have a shared history of same co-founder, source code and many of features.
MariaDB is a drop in replacement for MySQL made by some of the original MySQL team. Simply dump the old database and import in the new one as you would with MySQL.
Any plugin that supports MySQL also supports MariaDB. Hence why it’s a ‘drop in replacement’. It is often based on the corresponding version of MySQL if any exists.
When it comes to the database structure and indexes, both database management systems are basically the same. MySQL on its part implements the standard ANSI information schema consisting of tables, columns, views, triggers, etc with a SQL that is a broad subset of ANSI SQL 99.
Identically, MariaDB’s database structure and indexes are basically the same as that of MySQL. Consequently, this similarity results in compatible table and data definitions as well as client protocols structures, application programming interfaces. Likewise, filenames, binaries, paths, ports, sockets, and so on, are basically the same.
In addition, additional modification is not needed to get MySQL connectors (PHP, Perl, Python, Java, MyODBC, Ruby, the MySQL C connector, etc.) to work with MariaDB – they will work just fine.
Also, mysql-client packages work with MariaDB server without issues. For this reason, with MariaDB vs MySQL you can just uninstall MySQL and install MariaDB and keep pushing forward as if nothing had happened.
In conclusion, both MySQL vs MariaDB databases are basically the same although managed by different organizations. Meaning MySQL is owned and maintained by Oracle Corp. whereas MariaDB is owned and managed by MariaDB Corp. AB with its community version managed by the MariaDB foundation.