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

Guía para migrar bases de datos de MySQL a MariaDB en DirectAdmin

Actualizado el 27 de febrero de 2026

¿Necesitas pasar tus bases de datos de MySQL a MariaDB en tu servidor DirectAdmin? No te preocupes, es un proceso más sencillo de lo que parece y, de hecho, es una migración muy recomendada. MariaDB es un fork de MySQL creado por los desarrolladores originales, lo que significa que es compatible a nivel de comandos y estructura, pero suele ofrecer mejor rendimiento, más motores de almacenamiento y actualizaciones de seguridad más rápidas.

En esta guía te explicaré paso a paso cómo realizar la migración de forma segura, sin perder datos y minimizando el tiempo de inactividad de tus sitios web. Usaremos herramientas nativas de DirectAdmin y comandos básicos de terminal. Vamos allá.


¿Por qué migrar de MySQL a MariaDB?

Antes de empezar, es bueno que entiendas por qué este cambio es positivo. MariaDB no es un reemplazo forzoso, sino una evolución natural. Algunas ventajas clave:

  • Rendimiento superior: MariaDB maneja mejor las consultas complejas y las conexiones concurrentes.
  • Más motores de almacenamiento: Incluye motores como Aria, ColumnStore y MyRocks, ideales para diferentes cargas de trabajo.
  • Mejor seguridad: Parches y actualizaciones más rápidas que en MySQL Community Edition.
  • Compatibilidad total: Tus aplicaciones (WordPress, Joomla, phpMyAdmin, etc.) funcionarán exactamente igual, ya que MariaDB usa los mismos comandos SQL y APIs.
  • Soporte comunitario activo: Al ser software libre, cuenta con una gran comunidad y documentación.

DirectAdmin soporta oficialmente MariaDB, por lo que no tendrás problemas de integración. Eso sí, siempre es recomendable hacer una copia de seguridad antes de cualquier cambio.


Requisitos previos

Para que la migración sea exitosa, asegúrate de tener lo siguiente:

  • Acceso a DirectAdmin como administrador (usuario admin).
  • Acceso SSH al servidor con permisos de root o sudo.
  • Listado de todas las bases de datos que tienes en MySQL (puedes verlas desde phpMyAdmin o DirectAdmin).
  • Conocimiento básico de comandos de terminal (no te preocupes, te guiaré).
  • Tiempo suficiente: el proceso puede tomar entre 15 y 30 minutos, dependiendo del tamaño de tus bases de datos.

[WARNING]
Haz una copia de seguridad completa de todas tus bases de datos antes de continuar. Aunque la migración es segura, un fallo de energía o un error humano podría causar pérdida de datos. No te saltes este paso.


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

Lo primero es exportar todas tus bases de datos de MySQL a un archivo .sql. Puedes hacerlo desde DirectAdmin o mediante comandos SSH.

Opción A: Desde DirectAdmin (recomendado para principiantes)

  1. Inicia sesión en DirectAdmin como administrador.
  2. Ve a Admin Level > Backup/Transfer.
  3. En la sección Backup, selecciona Crear un backup completo.
  4. Marca la opción Bases de datos (puedes incluir también usuarios y configuraciones).
  5. Haz clic en Crear Backup. Esto generará un archivo .tar.gz en el directorio /home/admin/admin_backups/.

Este backup incluye todo: bases de datos, usuarios, sitios web, etc. Es la opción más segura.

Opción B: Desde SSH (más rápido para servidores con muchas bases)

Conéctate por SSH a tu servidor y ejecuta:

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

Te pedirá la contraseña de root de MySQL. Si no la recuerdas, puedes encontrarla en el archivo /usr/local/directadmin/conf/mysql.conf (busca la línea pass=).

[TIP]
Si tus bases de datos son muy grandes (varios GB), usa gzip para comprimir el archivo:
mysqldump -u root -p --all-databases | gzip > /root/todas_bases.sql.gz


Paso 2: Verificar qué versión de MySQL tienes actualmente

Antes de migrar, confirma que estás usando MySQL. Ejecuta en SSH:

mysql --version

Verás algo como mysql Ver 8.0.36 for Linux. También puedes comprobarlo desde DirectAdmin en Admin Level > MySQL Management.


Paso 3: Detener servicios y desinstalar MySQL

Ahora toca detener DirectAdmin y los servicios de bases de datos para evitar conflictos.

3.1 Detener DirectAdmin y MySQL

service directadmin stop
service mysql stop

3.2 Desinstalar MySQL

El método exacto depende de cómo instalaste MySQL. Lo más común es que esté instalado desde los repositorios de DirectAdmin. Para eliminarlo:

yum remove mysql-server mysql-client -y   # Para CentOS/AlmaLinux
# O si usas apt:
apt purge mysql-server mysql-client -y    # Para Ubuntu/Debian

[INFO]
Si usas un panel como Syspanel (antes HestiaCP), el proceso es similar, pero el acceso es por el puerto 2106. En ese caso, deberías detener Syspanel antes: service syspanel stop.


Paso 4: Instalar MariaDB

Ahora instalaremos MariaDB. DirectAdmin recomienda usar su propio script de instalación para garantizar la compatibilidad.

4.1 Ejecutar el script de instalación de MariaDB de DirectAdmin

cd /usr/local/directadmin/scripts
./install.sh

Durante la instalación, el script te preguntará qué versión de MariaDB quieres. Las opciones típicas son:

  • 10.5 (estable, recomendada para la mayoría)
  • 10.6 (más reciente, con mejoras de rendimiento)
  • 10.11 (LTS, soporte a largo plazo)

Elige la que prefieras. Si no estás seguro, 10.11 es una excelente opción.

4.2 Configurar la contraseña de root

El script te pedirá que configures una contraseña para el usuario root de MariaDB. Puedes usar la misma que tenías en MySQL o una nueva. Anótala en un lugar seguro.

4.3 Verificar la instalación

Una vez terminado, comprueba que MariaDB está funcionando:

mysql --version

Deberías ver algo como mysql Ver 15.1 Distrib 10.11.6-MariaDB.


Paso 5: Restaurar las bases de datos

Ahora importaremos las bases de datos que exportaste antes.

Si usaste el backup de DirectAdmin

  1. Sube el archivo de backup a tu servidor (si no está ya).
  2. Desde DirectAdmin, ve a Admin Level > Backup/Transfer > Restore.
  3. Selecciona el archivo de backup y elige Restaurar solo bases de datos.
  4. Haz clic en Restaurar.

Si usaste mysqldump

Conéctate por SSH y ejecuta:

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

Introduce la contraseña de root de MariaDB (la que configuraste en el paso 4.2). Este proceso puede tardar unos minutos si tienes muchas bases de datos.

[WARNING]
Si el archivo está comprimido con gzip, primero descomprímelo:
gunzip /root/todas_bases.sql.gz y luego importa.


Paso 6: Reconfigurar DirectAdmin para usar MariaDB

DirectAdmin debería detectar automáticamente que ahora tienes MariaDB, pero es bueno verificar la configuración.

6.1 Editar el archivo de configuración de DirectAdmin

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

Busca la línea mysql=installed o similar. Si no aparece, añade:

mysql=installed
mariadb=installed

Guarda y cierra (Ctrl+O, Enter, Ctrl+X).

6.2 Reiniciar DirectAdmin

service directadmin start

Paso 7: Verificar que todo funciona correctamente

7.1 Comprobar bases de datos

Desde SSH, lista las bases de datos:

mysql -u root -p -e "SHOW DATABASES;"

Deberías ver todas las que tenías antes, incluyendo mysql, information_schema, performance_schema, etc.

7.2 Probar un sitio web

Accede a uno de tus sitios web alojados en DirectAdmin. Si usas WordPress, por ejemplo, visita la URL y verifica que cargue sin errores. También puedes revisar los logs de errores:

tail -f /var/log/httpd/error_log   # Para Apache

7.3 Revisar phpMyAdmin

Desde DirectAdmin, ve a phpMyAdmin (suele estar en https://tudominio.com/phpmyadmin). Inicia sesión con un usuario de base de datos y confirma que puedas ver tus tablas.


Paso 8: Ajustes post-migración (opcional pero recomendado)

8.1 Actualizar configuración de MariaDB

MariaDB tiene su propio archivo de configuración en /etc/my.cnf.d/ o /etc/mysql/mariadb.conf.d/. Puedes ajustar parámetros como max_connections, innodb_buffer_pool_size, etc., según las necesidades de tu servidor.

8.2 Activar el modo estricto (si lo necesitas)

Por defecto, MariaDB es un poco más permisivo que MySQL. Si tu aplicación requiere el modo estricto de MySQL, agrega en /etc/my.cnf.d/server.cnf:

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

8.3 Programar backups automáticos

Aprovecha para configurar backups periódicos de tus bases de datos. En DirectAdmin puedes hacerlo desde Admin Level > Cron Jobs o usando scripts como automysqlbackup.


Solución de problemas comunes (FAQ)

❌ Error: "Can't connect to local MySQL server through socket"

Esto suele ocurrir si el servicio de MariaDB no se inició correctamente. Verifica el estado:

systemctl status mariadb

Si está detenido, inícialo:

systemctl start mariadb

❌ Error: "Access denied for user 'root'@'localhost'"

Puede que la contraseña de root no coincida. Restablécelo:

systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nueva_contraseña';
exit
systemctl restart mariadb

❌ Las bases de datos no aparecen en DirectAdmin

Revisa si el archivo de configuración de DirectAdmin tiene la ruta correcta a MariaDB:

grep -i mysql /usr/local/directadmin/conf/directadmin.conf

Si no aparece, añade la línea mysql=installed y reinicia DirectAdmin.

❌ phpMyAdmin muestra errores

Asegúrate de que phpMyAdmin esté configurado para usar MariaDB. Normalmente funciona sin cambios, pero si ves errores de versión, actualiza phpMyAdmin a la última versión desde DirectAdmin > Admin Level > Install/Update.

❌ ¿Puedo migrar de MariaDB de vuelta a MySQL?

Sí, el proceso es el mismo pero al revés. Solo asegúrate de hacer una copia de seguridad completa antes.


Conclusión

Migrar de MySQL a MariaDB en DirectAdmin es un proceso directo que mejora el rendimiento y la seguridad de tu servidor. Siguiendo estos pasos, habrás realizado la migración sin perder datos y con el mínimo tiempo de inactividad.

Recuerda que MariaDB es totalmente compatible, por lo que tus aplicaciones seguirán funcionando como siempre, pero con un motor más moderno y eficiente.

[TIP]
Si tienes dudas, siempre puedes consultar la documentación oficial de DirectAdmin sobre MariaDB o abrir un ticket de soporte. ¡No te quedes con la duda!

Ahora disfruta de tu servidor más rápido y estable. ¡Buena suerte!

¿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