MariaDB begann als Abspaltung von MySQL und blieb jahrelang kompatibel. Inzwischen sind sie so weit auseinander, dass ein Wechsel eine Migration ist und kein Austausch - für eine gewöhnliche PHP-Anwendung führen aber beide dasselbe Schema und dieselben Abfragen aus.

Wo der Unterschied groß genug ist

  • JSON. MySQL hat einen echten JSON-Typ mit Indizierung. MariaDB speichert JSON als Text mit einer Check-Bedingung - portabel und langsamer für alles, was im Dokument sucht.
  • Replikation. MySQL verwendet GTIDs, MariaDB hat ein eigenes Verfahren. Sie sind nicht austauschbar, eine Replik kann also nicht die andere sein.
  • Fensterfunktionen und CTEs. Beide haben sie inzwischen; ältere Installationen von beiden womöglich nicht.
  • Speicher-Engines. MariaDB bringt Zusätze wie Aria und ColumnStore mit. Fast niemand braucht sie.

Wie Sie erkennen, welche Sie haben

mysql -V
mysql -e "SELECT VERSION()"
# 10.x or 11.x is MariaDB; 8.x is MySQL

Der Wechsel zwischen beiden

Dump und Import, nie eine Dateikopie. Die Datenverzeichnisse sind nicht kompatibel, und ein kopiertes Datadir ergibt eine Datenbank, die startet und sich dann seltsam verhält - weit schlimmer als eine, die gar nicht erst startet.
mysqldump --single-transaction --routines --triggers --default-character-set=utf8mb4 db > db.sql
# then import into the other engine and CHECK the row counts per table

Was Sie für eine neue Website nehmen

Was Ihre Distribution mitbringt und Ihr Hoster unterstützt. Der Leistungsunterschied für eine typische PHP-Anwendung liegt im Rauschen; weit wichtiger sind Buffer Pool, Indizes und Abfragen - siehe innodb_buffer_pool_size und wann ein Index sinnvoll ist.

Wenn Ihre Anwendung ausdrücklich eine der beiden nennt, nehmen Sie die. Kompatibilitätsprobleme sind selten und elend, wenn sie auftreten.