🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Migrar base de datos de MySQL a MariaDB en DirectAdmin

Actualizado el 28 de octubre de 2025

¿Estás pensando en migrar tus bases de datos de MySQL a MariaDB en tu servidor con DirectAdmin? Es una decisión muy acertada. MariaDB es un sistema de gestión de bases de datos que nació como un reemplazo directo de MySQL, creado por los mismos desarrolladores originales. Es conocido por ser más rápido, más seguro y tener un mejor rendimiento en entornos de alto tráfico. Lo mejor de todo es que el proceso de migración es mucho más sencillo de lo que imaginas. En esta guía paso a paso, te explicaré cómo hacerlo de forma segura, sin perder datos y manteniendo la compatibilidad total con tus aplicaciones.


¿Por qué migrar de MySQL a MariaDB?

Antes de comenzar, es bueno que entiendas los beneficios. MariaDB es un fork (derivación) de MySQL, lo que significa que es compatible a nivel de comandos, consultas y archivos de datos. Puedes migrar tus bases de datos sin modificar ni una sola línea de código de tus sitios web o aplicaciones. MariaDB ofrece mejoras en el motor de almacenamiento InnoDB, mayor velocidad en consultas complejas y parches de seguridad más rápidos. Además, es la opción predeterminada en muchas distribuciones Linux modernas y paneles de control como DirectAdmin.

[INFO] Si usas paneles como Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106), el proceso es muy similar, aunque aquí nos centraremos en DirectAdmin.


Requisitos previos

Antes de lanzarte a la migración, asegúrate de tener lo siguiente:

  • Acceso SSH a tu servidor con permisos de root.
  • Acceso a DirectAdmin como administrador.
  • Una copia de seguridad reciente de todas tus bases de datos.
  • Conocimientos básicos de línea de comandos (no te preocupes, te guiaré paso a paso).
  • Verificar que tu versión de DirectAdmin sea compatible con MariaDB (generalmente todas las versiones recientes lo son).

[WARNING] Nunca realices una migración en un servidor de producción sin antes hacer una prueba en un entorno de desarrollo o con una copia de seguridad completa. Un error podría dejar tus aplicaciones sin base de datos.


Paso 1: Realizar una copia de seguridad completa de las bases de datos

Este es el paso más importante. Necesitas asegurarte de que todos tus datos estén respaldados por si algo sale mal. Puedes hacerlo desde la interfaz de DirectAdmin o desde la terminal.

Opción A: Desde DirectAdmin

  1. Inicia sesión en DirectAdmin como administrador.
  2. Ve a Admin Level > Backup/Transfer.
  3. Selecciona Create Backup.
  4. Marca la opción Databases y elige todas las bases de datos que quieras migrar.
  5. Descarga el archivo de respaldo generado (normalmente en /home/admin/admin_backups/).

Opción B: Desde la terminal (recomendado para mayor control)

Conéctate por SSH a tu servidor y ejecuta:

mysqldump --all-databases -u root -p > /root/todas_bases_datos.sql

Te pedirá la contraseña de root de MySQL. Este comando crea un archivo SQL con todas tus bases de datos, incluyendo usuarios y privilegios.

[TIP] Si solo quieres migrar bases de datos específicas, usa: mysqldump -u root -p nombre_base > /root/base_nombre.sql


Paso 2: Detener MySQL y deshabilitar su inicio automático

Para evitar conflictos, debes detener el servicio de MySQL y evitar que se inicie automáticamente al reiniciar el servidor.

systemctl stop mysql
systemctl disable mysql

Verifica que se haya detenido con:

systemctl status mysql

Deberías ver un mensaje que indique que está inactivo (inactive).


Paso 3: Instalar MariaDB

DirectAdmin facilita la instalación de MariaDB a través de su propio script de configuración. Sin embargo, también puedes hacerlo manualmente.

Instalación mediante el script de DirectAdmin

DirectAdmin tiene un script llamado build que permite gestionar servicios. Ejecuta:

cd /usr/local/directadmin/custombuild
./build set mariadb yes
./build set mysql_inst mariadb
./build mariadb

Este proceso descargará e instalará la última versión estable de MariaDB. Ten paciencia, puede tardar unos minutos.

Instalación manual (alternativa)

Si prefieres instalarlo manualmente (útil si usas un sistema operativo específico), en CentOS o AlmaLinux puedes usar:

yum install mariadb-server mariadb -y

En Ubuntu o Debian:

apt install mariadb-server mariadb-client -y

Paso 4: Iniciar MariaDB y configurar el servicio

Una vez instalado, inicia MariaDB y habilítalo para que arranque automáticamente:

systemctl start mariadb
systemctl enable mariadb

Verifica que esté funcionando:

systemctl status mariadb

Deberías ver un mensaje verde de "active (running)".


Paso 5: Restaurar las bases de datos en MariaDB

Ahora viene la parte mágica: restaurar tus datos. Como MariaDB es compatible con MySQL, el archivo de respaldo que creaste en el Paso 1 se puede importar directamente.

mysql -u root -p < /root/todas_bases_datos.sql

Ingresa la contraseña de root que tenías en MySQL (si no la cambiaste, sigue siendo la misma). Este comando recreará todas las bases de datos, tablas, usuarios y privilegios.

[INFO] Si durante la restauración ves errores de "user already exists" o "database already exists", no te preocupes, son normales si ya habías creado alguna base de datos de prueba. El proceso continúa.


Paso 6: Verificar la migración

Es hora de comprobar que todo está en orden. Conéctate a MariaDB desde la terminal:

mysql -u root -p

Una vez dentro, lista las bases de datos:

SHOW DATABASES;

Deberías ver todas las que tenías antes. Luego, verifica una base de datos específica:

USE nombre_de_tu_base;
SHOW TABLES;
SELECT COUNT(*) FROM alguna_tabla;

Si todo se ve correcto, ¡felicidades! La migración ha sido exitosa.


Paso 7: Actualizar la configuración de DirectAdmin

DirectAdmin necesita saber que ahora usas MariaDB en lugar de MySQL. Esto se hace editando el archivo de configuración.

Edita el archivo /usr/local/directadmin/conf/directadmin.conf con un editor como nano:

nano /usr/local/directadmin/conf/directadmin.conf

Busca la línea que dice mysql=... y cámbiala a:

mysql=mariadb

Guarda los cambios (Ctrl+O, luego Ctrl+X en nano) y reinicia DirectAdmin:

systemctl restart directadmin

Paso 8: Probar el acceso desde aplicaciones web

Ahora prueba que tus sitios web o aplicaciones puedan conectar a la base de datos. Accede a tu panel de control de WordPress, Joomla, o cualquier CMS que uses. Si todo funciona con normalidad, la migración está completa.

[TIP] Si alguna aplicación falla, revisa los logs de error de PHP o del servidor web. Normalmente están en /var/log/httpd/error_log o /var/log/nginx/error.log. Un error común es que el usuario de la base de datos no tenga permisos correctos; puedes repararlos con:

GRANT ALL PRIVILEGES ON nombre_base.* TO 'usuario'@'localhost';
FLUSH PRIVILEGES;

Compatibilidad: ¿Qué debo tener en cuenta?

MariaDB es compatible con MySQL en un 99% de los casos, pero hay algunas diferencias menores:

  • Funciones obsoletas: Algunas funciones de MySQL como PASSWORD() han sido eliminadas en MariaDB. Si tu aplicación las usa, deberás actualizarla.
  • Motores de almacenamiento: MariaDB tiene motores propios como Aria o ColumnStore, pero InnoDB sigue siendo el predeterminado y es totalmente compatible.
  • Extensiones de PHP: Asegúrate de que tu PHP tenga habilitada la extensión mysqli o pdo_mysql. DirectAdmin suele configurarlo automáticamente.

Si usas Syspanel (HestiaCP, puerto 2106), el proceso es idéntico, solo que los comandos de instalación pueden variar ligeramente según el script del panel.


Preguntas frecuentes (FAQ)

¿Puedo migrar sin perder los datos de sesión de los usuarios?

Sí, los datos de sesión se almacenan en tablas de la base de datos (como wp_options en WordPress). Al migrar toda la base de datos, esos datos se conservan.

¿Qué hago si después de migrar no puedo acceder a DirectAdmin?

Revisa el archivo /usr/local/directadmin/logs/error.log. Si hay un error de conexión a la base de datos, asegúrate de que MariaDB esté corriendo y que el usuario root tenga acceso. Puedes restablecer la contraseña de root de MariaDB con:

mysqladmin -u root password 'nueva_contraseña'

¿Es necesario cambiar algo en los archivos de configuración de las aplicaciones?

No, porque el nombre del servicio sigue siendo el mismo (localhost) y el puerto (3306) es idéntico. Tus aplicaciones seguirán conectándose sin cambios.

¿Puedo desinstalar MySQL después de la migración?

Sí, una vez que verifiques que todo funciona, puedes eliminar MySQL para liberar espacio. Pero te recomiendo mantenerlo unos días por si necesitas volver atrás. Para desinstalarlo:

yum remove mysql-server mysql

O en Ubuntu:

apt remove mysql-server mysql-client

¿MariaDB es más rápido que MySQL?

En la mayoría de las pruebas, sí. Especialmente en consultas complejas y en entornos con muchas conexiones simultáneas. Además, consume menos memoria RAM.


Conclusión

Migrar de MySQL a MariaDB en DirectAdmin es un proceso sencillo, seguro y altamente recomendado para mejorar el rendimiento de tu servidor. Siguiendo estos pasos, habrás realizado una migración limpia sin perder datos ni afectar la compatibilidad de tus aplicaciones. Recuerda siempre hacer una copia de seguridad antes de cualquier cambio importante y probar en un entorno controlado si es posible.

Si en algún momento te sientes inseguro, no dudes en contactar al soporte técnico de tu proveedor de hosting o consultar la documentación oficial de DirectAdmin y MariaDB. ¡Tu servidor te lo agradecerá con mayor velocidad y estabilidad!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel