MariaDB nació como una bifurcación de MySQL y siguió compatible durante años. Desde entonces se han apartado lo bastante como para que pasar de una a otra sea una migración y no un cambio de pieza; pero para una aplicación PHP corriente, ambas ejecutan el mismo esquema y las mismas consultas.

Dónde la diferencia sí importa

  • JSON. MySQL tiene un tipo JSON de verdad, con indexación. MariaDB guarda el JSON como texto con una restricción de comprobación: portátil, y más lento para todo lo que consulte dentro del documento.
  • La replicación. MySQL usa GTID, MariaDB tiene su propio esquema. No son intercambiables, así que una réplica no puede ser de la otra.
  • Funciones de ventana y CTE. Ambas las tienen ya; las instalaciones antiguas de una u otra puede que no.
  • Los motores de almacenamiento. MariaDB trae extras como Aria y ColumnStore. Casi nadie los necesita.

Cómo saber cuál tiene

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

Pasar de una a otra

Volcado e importación, nunca una copia de archivos. Los directorios de datos no son compatibles, y un datadir copiado da una base que arranca y luego se comporta de forma extraña, que es mucho peor que una que se niega a arrancar.
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

Cuál elegir para un sitio nuevo

La que traiga su distribución y admita su alojamiento. La diferencia de rendimiento para una aplicación PHP típica queda dentro del ruido; importan mucho más el buffer pool, los índices y las consultas: vea innodb_buffer_pool_size y cuándo añadir un índice.

Si su aplicación documenta una en concreto, use esa. Los problemas de compatibilidad son raros y miserables cuando aparecen.