Desde hace ya algunas actualizaciones Ghost 5.x solo funciona con MySQL 8.x, esto es debido a la actualización de Ghost 4.x a Ghost 5.x. Desde Ghost 5.x ya estaban recomendado migrar todas las bases de datos a MySQL 8.x si estabas usando MariaDB o SQLite.
El otro día actualizando voidNull a la última versión de Ghost 5.x me di cuenta que dejó de funcionar algunas partes del backoffice tras la actualización, por lo tanto me vi obligado a migrar la base de datos de MariaDB 10.4 a MySQL 8.x.
Así que si os habéis encontrado con el mismo problema, os explico como lo solucioné. Todo este proceso se realizará sobre Debian 11.
Copia de seguridad
Lo primero que haremos será una copia de seguridad de la base de datos, para ello podemos exportar una copia siguiendo este otro tutorial:

La copia de la base de datos la necesitamos de todas formas, ya que vamos a tener que eliminar MariaDB para luego instalar MySQL e importar la base de datos de nuevo. Así que guarda la copia en un lugar seguro.
Eliminar MariaDB
Si tienes la base de datos en otro servidor, no es necesario hacer este paso, pero si tienes Ghost y MariaDB en el mismo servidor, entonces si que tienes que seguir las siguientes instrucciones:
apt remove --purge mariadb-client-10.4 mariadb-client-core-10.4 mariadb-common mariadb-server mariadb-server-10.4 mariadb-server-core-10.4
-10.4
por -10.x
.Recuerda que puedes visualizar los paquetes con
dpkg -l | grep mariadb
.Durante el proceso, nos preguntará si queremos eliminar todas las bases de datos:

Haz este proceso únicamente si en el servidor tienes MariaDB con la base de datos de Ghost, si en el mismo servidor tienes otras bases de datos, deberás de hacer copias de esas bases de datos y revisar que el resto de aplicaciones soportan MySQL 8.x
Instalación de MySQL 8.x
Para instalar MySQL podemos seguir estas instrucciones para Debian 11, si estás utilizando otra distribución en la misma página tienes un botón para cambiar a otra distribución.

Importación de la base de datos
Ahora deberemos de crear un usuario, e importar la base de datos, para ello seguiremos este tutorial:

Con el usuario y base de datos creados con los permisos correspondientes, vamos a importar la base de datos:
# mysql -u ghost -p ghost < ghost.sql
Ahora Ghost ya debería de cargar de nuevo con la nueva base de datos corriendo en MySQL 8.X!
ghost restart
para recargar ghost.
Comentarios