A pesar de que MariaDB es compatible para versiones de Ghost 4.x, en las últimas actualizaciones ha dejado de ser compatible. Sobre todo para la versión de Ghost 5.x. Si tienes pensado actualizar Ghost 4.x a Ghost 5.x debes de tener en cuenta que si usas nuestra imagen deberás de hacer un cambio de MariaDB 10.x por MySQL 8.x.
En este tutorial te explicamos como realizar este cambio. Debemos de tener en cuenta que la imagen de Ghost esta sobre Ubuntu 20.04, por lo tanto MySQL 8.x no se encuentra en los repositorios.
Copia de seguridad de los datos
Lo primero será crear un snaphost para tener una copia del servidor antes de realizar el cambio. Y luego deberemos de crear un backup de la base de datos para luego importarla de nuevo a MySQL 8.x.
Para la copia de seguridad de la base de datos:
# mysqldump -u ghost ghost -p > ghost.sqlEliminar MariaDB
El siguiente paso es eliminar MariaDB de nuestro servidor, para ello ejecutamos el siguiente comando:
# apt remove --purge mariadb-client-10.4 mariadb-client-core-10.4 mariadb-common mariadb-server mariadb-server-10.4 mariadb-server-core-10.4Durante el proceso, nos pedirá si queremos eliminar las bases de datos, dado que hay una copia de seguridad realizada anteriormente de la base de datos del Ghost, le diremos que sí.
Instalación de MySQL
Lo primero será añadir el repositorio, descargamos el siguiente paquete:
# wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.debLo instalamos:
# dpkg -i mysql-apt-config_0.8.22-1_all.debSeleccionamos la primera opción y le damos a Ok.
Seleccionamos mysql-8.0. y le damos a Ok. En la siguiente pantalla seleccionamos Ok de nuevo.
Tras instalar el paquete, actualizamos los repositorios:
# apt updateLuego instalamos los paquetes necesarios:
# apt install mysql-client mysql-community-server mysql-serverDurante el proceso de instalación te pedirá que configures una contraseña segura.
Securizar MySQL
Es recomendable que una vez instalado, ejecutar el siguiente comando para securizar el servicio:
# mysql_secure_installationImportamos la base de datos
Ahora importamos la base de datos que hemos exportado anteriormente, para ello tenemos que acceder a MySQL y crear la base de datos y otorgar los permisos necesarios:
# mysql -u root -pY aquí ejecutamos:
CREATE DATABASE ghost;
CREATE USER ghost@localhost IDENTIFIED BY '[CONTRASEÑA]';
GRANT ALL PRIVILEGES ON ghost.* TO ghost@localhost;
FLUSH PRIVILEGES;Para la contraseña del usuario, deberemos de utilizar la misma que se encuentra en el fichero /var/www/ghost/config.production.json.
Y ahora la importamos:
# mysql -u ghost -p ghost < ghost.sqlUna vez hemos importado la base de datos, es recomendable reiniciar la instancia de Ghost para que recargue la configuración.
# su - ghostinst
# cd /var/www/ghost
# ghost restart