MariaDB と MySQL のバージョン比較


どこにも見やすい相対表が無かったので作りました。

ただ、よく調べてみると、MariaDB が MySQL よりも先に特定の機能を先に導入したりしていて、 完璧な相対は出来ない です。(まあ完璧に同じだったらなぜ別の製品を作らないといけないのかという話になりますよね)。

なので、この相対表を仕事で使うのは絶対におすすめしません (免責)。

MariaDB MySQL
5.1 5.1
5.2 5.1
5.3 5.1
5.5 & 10.0. 5.5
10.1 5.6
10.2~3 5.7 (*)
10.4~6 8.0 (*)

MySQL 8 と MariaDB 10.4 以降は注意

MySQL 8 と MariaDB 10.4 は互換性が無くなっています。

差分がすごく細かいので、MariaDB公式サイトのドキュメントを参考にすると良いです。

Concrete CMS は MySQL 5.1.5 から対応

Concrete CMS (旧 concrete5)は 5.7.0〜8.5.2までは MySQL 5.1.5 から対応しています。

絵文字 (utf8mb4) の対応は 8.5.0 からです。

絵文字対応

大多数に絵文字を利用するには、utf8mb4 の collation や charaset である必要があります。
InnoDB で Antelope なデータベースだと、DBの変換時に Index エラーが起きる場合があります。

MySQL 5.7.9 以降だと InnoDB の設定追加が不要になったので、MySQL 5.7.9 以降の選択をおすすめします。

innodb_file_per_table
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_large_prefix

こぼれ話

MySQL の My はオリジナルコード作者の Michael "Monty" Widenius の娘の名前。
MariaDB は、MySQL が当時サン・マイクロシステムズ社に買収され、退社した後に作った互換DB。名前の Maria も、Widenius氏の娘の名前。まさに姉妹DB。

参考
https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/#incompatibilities-between-mariadb-101-and-mysql-57
https://enterprisezine.jp/dbonline/detail/4220
https://www.s-style.co.jp/blog/2018/04/1709/
https://arakan-pgm-ai.hatenablog.com/entry/2018/08/03/000000
https://gray-code.com/php/using-mysql-and-mariadb-by-php/