Migrar base de datos de MySQL a MariaDB en Syspanel sin perder datos
¿Estás pensando en migrar tu base de datos de MySQL a MariaDB en Syspanel? No te preocupes, es un proceso más sencillo de lo que parece. En esta guía te explicaré paso a paso cómo hacerlo sin perder ni un solo dato. Como técnico de soporte, he ayudado a muchos usuarios a realizar esta transición, y te aseguro que con las herramientas adecuadas, todo irá sobre ruedas.
¿Por qué migrar de MySQL a MariaDB?
Antes de empezar, es normal que te preguntes: "¿Realmente necesito hacer esto?" MariaDB es un fork de MySQL creado por los desarrolladores originales de MySQL. Es compatible al 100% con MySQL, pero ofrece mejor rendimiento, más motores de almacenamiento y optimizaciones de seguridad. Además, en Syspanel, MariaDB suele estar mejor integrado y recibe actualizaciones más frecuentes.
[INFO] Syspanel (anteriormente conocido como HestiaCP) es un panel de control de hosting que facilita la gestión de servidores. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106 (ejemplo: https://tudominio.com:2106).
Preparativos antes de la migración
No te lances sin preparación. Una migración exitosa requiere ciertos pasos previos para garantizar que no pierdas información valiosa.
1. Realiza una copia de seguridad completa
Este es el paso más importante. Aunque la migración suele ser segura, nunca está de más tener un respaldo. Puedes hacerlo desde Syspanel:
- Inicia sesión en Syspanel (puerto 2106).
- Ve a la sección Bases de Datos.
- Selecciona la base de datos que quieres migrar.
- Haz clic en Exportar o Descargar respaldo. Esto generará un archivo
.sqlcon toda tu información.
[WARNING] No confíes únicamente en la exportación de Syspanel. También puedes hacer una copia manual usando la línea de comandos:
mysqldump -u usuario -p nombrebasededatos > respaldo.sql
Este archivo es tu salvavidas en caso de cualquier imprevisto.
2. Verifica la versión actual de MySQL
Es importante saber qué versión de MySQL estás usando para asegurar la compatibilidad con MariaDB. Ejecuta este comando en la terminal de tu servidor:
mysql --version
Anota el resultado. MariaDB es compatible con las versiones más recientes de MySQL, pero si usas una versión muy antigua, podrías necesitar ajustes adicionales.
Migración paso a paso en Syspanel
Ahora sí, vamos al proceso de migración. Te guiaré por cada etapa, desde la instalación de MariaDB hasta la verificación final.
1. Instala MariaDB en tu servidor
Primero, necesitas tener MariaDB instalado. Si usas un sistema operativo basado en Debian/Ubuntu, sigue estos pasos:
- Conéctate a tu servidor por SSH.
- Actualiza los repositorios:
sudo apt update - Instala MariaDB:
sudo apt install mariadb-server mariadb-client - Verifica que el servicio esté activo:
sudo systemctl status mariadb
[TIP] Si tu servidor usa CentOS o RHEL, los comandos cambian ligeramente. En ese caso, usa yum install mariadb-server en lugar de apt.
2. Detén el servicio de MySQL
Para evitar conflictos, es recomendable detener MySQL antes de continuar. Hazlo con:
sudo systemctl stop mysql
Si MySQL y MariaDB intentan usar el mismo puerto (3306 por defecto), podrían producirse errores. Al detener MySQL, liberas el puerto para MariaDB.
3. Cambia el puerto de MySQL (opcional pero recomendado)
Si prefieres mantener MySQL instalado por si acaso, puedes cambiar su puerto en lugar de detenerlo. Edita el archivo de configuración de MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Busca la línea port = 3306 y cámbiala a port = 3307. Luego reinicia MySQL:
sudo systemctl restart mysql
De esta forma, ambos servicios pueden coexistir, pero MariaDB usará el puerto 3306 por defecto.
4. Configura MariaDB
Antes de migrar los datos, asegúrate de que MariaDB esté configurado correctamente. Ejecuta el script de seguridad:
sudo mysql_secure_installation
Este te guiará para establecer una contraseña de root, eliminar usuarios anónimos, deshabilitar el acceso remoto root y eliminar bases de datos de prueba. Es un paso fundamental para mantener tu servidor seguro.
5. Migra los datos de MySQL a MariaDB
Ahora viene la parte crucial. Vamos a transferir todas las bases de datos de MySQL a MariaDB. Hay dos formas de hacerlo:
Opción A: Usando mysqldump (recomendado para usuarios avanzados)
- Exporta todas las bases de datos desde MySQL:
mysqldump -u root -p --all-databases > all_databases.sql - Importa el archivo a MariaDB:
mysql -u root -p < all_databases.sql
[WARNING] Asegúrate de que el archivo .sql no tenga errores. Puedes revisarlo con un editor de texto para verificar que las sentencias SQL sean correctas.
Opción B: Usando Syspanel (más visual y fácil)
Si prefieres no usar la línea de comandos, Syspanel facilita la migración:
- Accede a Syspanel (puerto 2106).
- Ve a Bases de Datos y selecciona la base que quieres migrar.
- Haz clic en Exportar para descargar el archivo
.sql. - Luego, en MariaDB, crea una nueva base de datos con el mismo nombre desde Syspanel o la línea de comandos:
mysql -u root -p -e "CREATE DATABASE nombrebasededatos;" - Importa el archivo
.sqldesde Syspanel (opción Importar) o con:mysql -u root -p nombrebasededatos < respaldo.sql
6. Verifica que los datos se hayan transferido correctamente
No des nada por sentado. Revisa que todas las tablas, procedimientos y usuarios estén presentes. Puedes hacerlo desde la línea de comandos:
mysql -u root -p -e "SHOW DATABASES;"
Luego, selecciona una base de datos y lista sus tablas:
mysql -u root -p -e "USE nombrebasededatos; SHOW TABLES;"
[TIP] Si usas Syspanel, ve a la sección Bases de Datos y haz clic en la base migrada. Deberías ver todas las tablas listadas.
7. Actualiza las configuraciones de tus aplicaciones
Las aplicaciones que usaban MySQL ahora deben apuntar a MariaDB. Normalmente, esto se hace editando los archivos de configuración (como wp-config.php en WordPress o config.php en otras aplicaciones). Busca las líneas que definen el host de la base de datos (suele ser localhost) y asegúrate de que el usuario y contraseña coincidan con los que configuraste en MariaDB.
[INFO] En Syspanel, puedes gestionar los usuarios de bases de datos desde la sección Usuarios. Si necesitas crear un nuevo usuario, hazlo allí y asígnale los permisos necesarios.
8. Desinstala MySQL (opcional)
Si ya no necesitas MySQL, puedes desinstalarlo para liberar recursos:
sudo apt remove mysql-server
Pero si prefieres mantenerlo como respaldo, déjalo instalado (recuerda que debe usar un puerto diferente).
Solución de problemas comunes
A veces, la migración no sale perfecta a la primera. Aquí tienes algunos problemas frecuentes y cómo resolverlos.
Error de autenticación al conectar
MariaDB usa un plugin de autenticación diferente al de MySQL. Si tu aplicación falla al conectar, ejecuta:
mysql -u root -p
ALTER USER 'usuario'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña';
FLUSH PRIVILEGES;
Esto cambia el método de autenticación al estándar de MySQL.
Tablas corruptas o incompatibles
Si alguna tabla no se importa correctamente, usa la herramienta mysqlcheck:
mysqlcheck -u root -p --auto-repair --all-databases
Esto intentará reparar las tablas dañadas automáticamente.
Puerto ocupado
Si MariaDB no arranca porque el puerto 3306 está en uso, verifica qué proceso lo ocupa:
sudo netstat -tlnp | grep 3306
Si es MySQL, detenlo o cámbiale el puerto como te expliqué antes.
Preguntas frecuentes (FAQ)
Aquí respondo las dudas más comunes que me suelen plantear los usuarios.
¿Puedo tener MySQL y MariaDB instalados al mismo tiempo?
Sí, pero deben usar puertos diferentes. MariaDB usa el 3306 por defecto, así que cambia MySQL al 3307 o viceversa.
¿Perderé mis datos durante la migración?
No, si sigues los pasos correctamente. La clave está en hacer una copia de seguridad antes de empezar.
¿Syspanel reconoce automáticamente MariaDB?
Sí, Syspanel está diseñado para funcionar con MariaDB sin problemas. Después de la migración, las bases de datos aparecerán en el panel como siempre.
¿Qué hago si mi aplicación deja de funcionar después de la migración?
Revisa los archivos de configuración de la aplicación para asegurarte de que apuntan a MariaDB. También verifica que el usuario y contraseña sean correctos.
¿Es necesario reiniciar el servidor después de la migración?
No es obligatorio, pero es recomendable para asegurar que todos los servicios se actualicen. Puedes hacerlo con sudo reboot.
Conclusión
Migrar de MySQL a MariaDB en Syspanel es un proceso que, con la guía adecuada, cualquiera puede realizar sin perder datos. La clave está en la preparación: haz siempre una copia de seguridad, sigue los pasos en orden y verifica cada etapa. MariaDB te ofrecerá un mejor rendimiento y compatibilidad con las últimas tecnologías, y Syspanel hará que la gestión sea pan comido.
[TIP] Si tienes dudas durante el proceso, no dudes en contactar al soporte técnico de tu hosting. Muchas veces, ellos pueden ayudarte a realizar la migración de forma remota.
Espero que esta guía te haya sido útil. ¡Buena suerte con tu migración!
