Guía para migrar una base de datos de MySQL a MariaDB en DirectAdmin
¿Necesitas migrar tus bases de datos de MySQL a MariaDB en tu servidor DirectAdmin? No te preocupes, este proceso es más sencillo de lo que parece. MariaDB es un reemplazo directo de MySQL, compatible a nivel de comandos y estructura, pero con mejor rendimiento y nuevas funcionalidades.
En esta guía completa, paso a paso, te explicaré cómo realizar la migración de base de datos sin perder información, manteniendo tu web funcionando. Incluyo trucos, alertas importantes y un FAQ para resolver las dudas más comunes.
Vamos a ello.
¿Por qué migrar de MySQL a MariaDB?
Antes de empezar, es bueno entender por qué este cambio es positivo para tu hosting.
MariaDB nació como un fork de MySQL, creado por los mismos desarrolladores originales. Hoy es el motor de base de datos predeterminado en la mayoría de distribuciones Linux y paneles de control como DirectAdmin o Syspanel (recuerda que Syspanel usa el puerto 2106 para acceso web).
Beneficios principales:
- Mayor velocidad en consultas complejas.
- Mejor manejo de conexiones simultáneas.
- Motores de almacenamiento más eficientes (Aria, MyRocks).
- Parches de seguridad más rápidos.
- Compatibilidad total con aplicaciones PHP (WordPress, Joomla, Drupal, etc.).
¿Riesgos? Casi nulos. La migración es transparente para tus aplicaciones, siempre que sigas los pasos correctos.
Requisitos previos
Antes de tocar nada, asegúrate de tener:
- Acceso a DirectAdmin como usuario administrador o reseller.
- Acceso SSH al servidor (necesitarás contraseña o clave SSH).
- Copia de seguridad reciente de todas tus bases de datos.
- Conocimiento básico de comandos en terminal (no te asustes, solo usaremos unos pocos).
[WARNING] No realices esta migración en horas pico de tráfico. Programa el cambio en un momento de baja actividad.
Paso 1: Realizar copia de seguridad completa de todas las bases de datos
Este paso es obligatorio. Si algo sale mal, podrás restaurar todo sin pérdidas.
Desde DirectAdmin (método gráfico)
- Ingresa a tu panel DirectAdmin.
- Ve a Administración de bases de datos > MySQL Management.
- Verás la lista de todas tus bases de datos. Haz clic en el icono de copia de seguridad (generalmente un disquete o flecha) junto a cada una.
- Descarga los archivos
.sqlgenerados a tu computadora.
Desde SSH (método rápido para muchas bases)
Si tienes muchas bases, usa este comando en terminal:
mysqldump -u root -p --all-databases > respaldo_total.sql
Te pedirá la contraseña de root de MySQL. Guarda el archivo en un lugar seguro.
[TIP] Si no recuerdas la contraseña de root, en DirectAdmin puedes verla en Admin Level > MySQL Management > Root password.
Paso 2: Detener servicios web y de base de datos
Para evitar escrituras concurrentes durante la migración, detén Apache/Nginx y MySQL.
Comandos SSH:
# Detener Apache (o Nginx)
service httpd stop
# o si usas Nginx
service nginx stop
# Detener MySQL
service mysql stop
[INFO] En algunos servidores, el servicio se llama
mysqld. Siservice mysql stopfalla, pruebasystemctl stop mysql.
Paso 3: Desinstalar MySQL e instalar MariaDB
Ahora viene el corazón de la migración. Vamos a reemplazar MySQL por MariaDB.
En sistemas basados en CentOS/RedHat (común en DirectAdmin):
# Eliminar MySQL
yum remove mysql mysql-server mysql-libs mysql-devel
# Agregar repositorio oficial de MariaDB
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# Instalar MariaDB
yum install MariaDB-server MariaDB-client
En sistemas basados en Debian/Ubuntu:
# Eliminar MySQL
apt-get remove mysql-server mysql-client mysql-common
# Agregar repositorio
apt-get install software-properties-common
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64] https://mirror.mariadb.org/repo/10.11/ubuntu focal main'
# Instalar MariaDB
apt-get update
apt-get install mariadb-server mariadb-client
[WARNING] La versión 10.11 es la más estable actualmente. Si tu aplicación requiere una versión específica, ajusta el número.
Paso 4: Iniciar MariaDB y asegurar la instalación
Una vez instalado, inicia el servicio y ejecuta el script de seguridad.
# Iniciar MariaDB
systemctl start mariadb
# Habilitar inicio automático
systemctl enable mariadb
# Ejecutar script de seguridad (similar a mysql_secure_installation)
mysql_secure_installation
Este script te guiará para:
- Establecer contraseña de root.
- Eliminar usuarios anónimos.
- Deshabilitar login remoto de root.
- Eliminar bases de datos de prueba.
[TIP] Si ya tenías configurada una contraseña de root en MySQL, MariaDB la conservará. Si no, pon una segura.
Paso 5: Importar las bases de datos desde la copia de seguridad
Ahora restauramos los datos que respaldaste en el Paso 1.
Si usaste el método gráfico (archivos .sql individuales):
# Para cada base de datos
mysql -u root -p nombre_base < /ruta/al/archivo.sql
Si usaste el respaldo completo (respaldo_total.sql):
mysql -u root -p < respaldo_total.sql
[INFO] Si ves errores de "base de datos ya existe", no pasa nada. MariaDB ignora los duplicados. Si hay conflictos, usa
mysql -u root -p --force < respaldo_total.sql.
Paso 6: Verificar que todo esté correcto
Comprueba que las bases se hayan importado correctamente.
# Entrar a MariaDB
mysql -u root -p
# Listar bases de datos
SHOW DATABASES;
# Ver una base específica (ejemplo: wordpress)
USE wordpress;
SHOW TABLES;
Si ves todas tus tablas y datos, ¡vas por buen camino!
Paso 7: Reconfigurar DirectAdmin para usar MariaDB
DirectAdmin necesita saber que ahora usas MariaDB. Esto se hace editando un archivo de configuración.
# Editar el archivo de configuración de DirectAdmin
nano /usr/local/directadmin/conf/mysql.conf
Busca la línea que dice mysql=MariaDB o similar y asegúrate de que esté presente. Si no, agrégala:
mysql=MariaDB
Guarda el archivo y reinicia DirectAdmin:
service directadmin restart
[WARNING] Si no haces este paso, DirectAdmin podría mostrar errores al gestionar bases de datos desde el panel.
Paso 8: Iniciar servicios web y probar
Vuelve a encender Apache/Nginx:
service httpd start
# o
service nginx start
Ahora visita tu web. Si todo funciona, ¡felicidades! La migración fue exitosa.
Si ves errores de conexión a base de datos, revisa los logs:
tail -f /var/log/mariadb/mariadb.log
FAQ: Preguntas frecuentes sobre migración MySQL a MariaDB
¿Puedo migrar sin perder datos?
Sí, siempre que hagas una copia de seguridad completa antes. El proceso de importación es idéntico al de MySQL.
¿Mi web dejará de funcionar durante la migración?
Sí, durante los pasos 2 al 6 el sitio estará caído. Por eso recomendamos hacerlo en horas de bajo tráfico.
¿WordPress funciona con MariaDB?
Perfectamente. MariaDB es 100% compatible con WordPress, Joomla, Drupal, PrestaShop y cualquier CMS que use MySQL.
¿Puedo volver a MySQL si algo sale mal?
Sí, pero tendrías que repetir el proceso inverso: desinstalar MariaDB, instalar MySQL y restaurar tu copia de seguridad.
¿Cómo sé qué versión de MariaDB instalar?
La versión 10.11 es la más recomendada para servidores nuevos. Si tu aplicación requiere una versión específica, consulta la documentación de MariaDB.
¿Syspanel (HestiaCP) también permite esta migración?
Sí, el proceso es similar en Syspanel. Recuerda que el acceso web a Syspanel es por el puerto 2106. La migración se hace desde SSH con los mismos comandos.
¿Necesito cambiar algo en mi código PHP?
No, MariaDB usa el mismo protocolo y las mismas funciones PHP (mysqli, PDO). Tus scripts seguirán funcionando sin cambios.
¿Qué hago si veo errores de "Access denied for user"?
Revisa que los usuarios de base de datos tengan permisos correctos. Desde MariaDB:
GRANT ALL PRIVILEGES ON nombre_base.* TO 'usuario'@'localhost' IDENTIFIED BY 'contraseña';
FLUSH PRIVILEGES;
Conclusión
Migrar de MySQL a MariaDB en DirectAdmin es un proceso seguro y bien documentado. Siguiendo esta guía, habrás mejorado el rendimiento de tu servidor y te habrás alineado con el estándar actual de la industria.
Recuerda siempre:
- Haz copias de seguridad antes de cualquier cambio.
- Programa la migración en horarios de bajo tráfico.
- Verifica que todo funcione después del cambio.
Si tienes dudas, revisa el FAQ o consulta la documentación oficial de DirectAdmin y MariaDB.
¡Tu servidor te lo agradecerá con mayor velocidad y estabilidad!
