Cómo migrar una base de datos MySQL a un nuevo servidor en Syspanel
¡Hola! Soy el técnico de soporte de Syspanel. Hoy te voy a guiar paso a paso para que realices una migración de base de datos MySQL de un servidor a otro. No te preocupes si no eres un experto: he preparado esta guía para que sea muy fácil de seguir, con instrucciones claras y ejemplos prácticos.
Migrar una base de datos puede sonar a algo complejo, pero en realidad es un proceso muy sencillo si lo haces con orden. Vamos a dividirlo en dos grandes fases: exportar la base de datos desde el servidor antiguo e importarla en el nuevo servidor. Usaremos herramientas que vienen incluidas en Syspanel (antes conocido como HestiaCP) y comandos básicos de terminal.
¿Qué necesitas antes de empezar?
Antes de lanzarnos, asegúrate de tener lo siguiente a mano:
- Acceso SSH a ambos servidores (el antiguo y el nuevo). Necesitarás usuario y contraseña o clave SSH.
- Credenciales de la base de datos MySQL que vas a migrar: nombre de la base de datos, usuario y contraseña.
- Syspanel instalado en el servidor nuevo. Recuerda que el panel de administración se accede por el puerto 2106 (ejemplo:
https://tunuevoservidor.com:2106). - Herramienta de terminal (por ejemplo, PuTTY en Windows, o la terminal nativa en Mac/Linux).
[INFO] Si no tienes acceso SSH, también puedes usar la herramienta phpMyAdmin que incluye Syspanel, pero el método por terminal es más rápido y fiable para bases de datos grandes.
Paso 1: Exportar la base de datos desde el servidor antiguo
Este paso consiste en crear un archivo .sql con todo el contenido de tu base de datos. Lo haremos desde la terminal.
1.1 Conéctate por SSH al servidor antiguo
Abre tu terminal y escribe:
ssh usuario@ip-del-servidor-antiguo
Te pedirá la contraseña o la clave. Una vez dentro, verás algo como usuario@servidor:~$.
1.2 Localiza la base de datos que quieres migrar
Si no recuerdas el nombre exacto, puedes listar las bases de datos con:
mysql -u root -p -e "SHOW DATABASES;"
Te pedirá la contraseña de root de MySQL. Verás una lista. Busca la que necesitas, por ejemplo midatabase.
1.3 Exporta la base de datos a un archivo .sql
Usa el comando mysqldump. Es la herramienta estándar para hacer copias de seguridad y migraciones.
mysqldump -u root -p midatabase > midatabase.sql
-u root: usuario con permisos (puede ser otro usuario si lo prefieres).-p: te pedirá la contraseña.midatabase: nombre de tu base de datos.>: redirige la salida al archivomidatabase.sql.
[TIP] Si la base de datos es muy grande, puedes comprimir el archivo para que ocupe menos:
mysqldump -u root -p midatabase | gzip > midatabase.sql.gz. Luego, para descomprimirlo en el destino usarásgunzip.
1.4 Verifica que el archivo se creó correctamente
Puedes comprobarlo con:
ls -lh midatabase.sql
Deberías ver el tamaño del archivo. Si pesa 0 bytes, algo salió mal (revisa credenciales o permisos).
1.5 Transfiere el archivo al servidor nuevo
Ahora necesitas copiar el archivo .sql al nuevo servidor. Usa scp (copia segura por SSH). Desde tu máquina local (no desde el servidor antiguo) ejecuta:
scp usuario@ip-antiguo:/ruta/midatabase.sql usuario@ip-nuevo:/ruta/destino/
O si prefieres hacerlo desde el servidor antiguo directamente:
scp midatabase.sql usuario@ip-nuevo:/home/usuario/
Te pedirá contraseñas. Asegúrate de tener permisos de escritura en la carpeta de destino.
[WARNING] No uses FTP sin cifrar para transferir archivos de bases de datos. Siempre usa SCP o SFTP.
Paso 2: Importar la base de datos en el servidor nuevo con Syspanel
Ya tienes el archivo en el nuevo servidor. Ahora vamos a importarlo.
2.1 Conéctate por SSH al servidor nuevo
ssh usuario@ip-del-servidor-nuevo
2.2 Accede a Syspanel (opcional, pero recomendado)
Abre tu navegador y ve a https://ip-del-servidor-nuevo:2106. Inicia sesión con tu usuario administrador. Desde el panel puedes crear la base de datos vacía donde importaremos los datos.
2.3 Crea una base de datos vacía en Syspanel
En Syspanel, ve a Bases de Datos y haz clic en Añadir Base de Datos. Rellena:
- Nombre de la base de datos: puede ser el mismo que el original o uno nuevo (ej.
midatabase_nueva). - Usuario: crea un usuario o usa uno existente.
- Contraseña: genera una segura.
Anota estos datos, los necesitarás para la importación.
[INFO] Syspanel crea automáticamente el usuario y le asigna permisos. No olvides guardar la contraseña.
2.4 Importa el archivo .sql a la nueva base de datos
Desde la terminal del servidor nuevo, ejecuta:
mysql -u usuario_nuevo -p midatabase_nueva < midatabase.sql
-u usuario_nuevo: el usuario que creaste en Syspanel.-p: te pedirá la contraseña de ese usuario.midatabase_nueva: nombre de la base de datos vacía.<: redirige el contenido del archivo .sql hacia MySQL.
Si todo va bien, verás que el comando se ejecuta sin errores (puede tardar unos segundos o minutos si es grande).
2.5 Verifica la importación
Para asegurarte de que los datos están ahí, puedes listar las tablas:
mysql -u usuario_nuevo -p -e "USE midatabase_nueva; SHOW TABLES;"
Deberías ver todas tus tablas. También puedes revisar el número de registros con consultas como SELECT COUNT(*) FROM nombre_tabla;.
Paso 3: Configura la conexión en tu aplicación
Una vez importada la base de datos, tu aplicación (WordPress, Joomla, etc.) debe apuntar al nuevo servidor. Para ello:
- Localiza el archivo de configuración (por ejemplo,
wp-config.phpen WordPress,.enven Laravel, etc.). - Actualiza los datos de conexión:
- Host: normalmente
localhostsi la base de datos está en el mismo servidor, o la IP del nuevo servidor. - Nombre de la base de datos: el que creaste en Syspanel.
- Usuario: el que creaste.
- Contraseña: la que generaste.
- Host: normalmente
Guarda los cambios y prueba tu sitio web. Si todo funciona, ¡felicidades! Has completado la migración.
[TIP] Si tu aplicación usa caché, vacíala después de cambiar la configuración para evitar errores.
Preguntas frecuentes (FAQ)
¿Puedo migrar sin usar SSH? ¿Solo con Syspanel?
Sí, puedes usar phpMyAdmin que viene integrado en Syspanel. Desde el panel, ve a Bases de Datos, selecciona la base y haz clic en phpMyAdmin. Allí puedes exportar e importar usando la interfaz gráfica. Sin embargo, para bases de datos grandes (>100 MB) es mejor usar la terminal, ya que phpMyAdmin puede tener límites de tiempo o tamaño.
¿Qué hago si la importación falla por tamaño de archivo?
Si el archivo .sql es muy grande, el servidor puede tener un límite de subida. Soluciones:
- Usa la terminal con el método que te expliqué (recomendado).
- Divide el archivo en partes más pequeñas con herramientas como
split. - Aumenta los límites en PHP (si usas phpMyAdmin) editando
php.ini, pero esto es más avanzado.
¿Se pierden datos durante la migración?
No, si sigues los pasos correctamente. La exportación crea una copia exacta de los datos en ese momento. La importación la vuelca en la nueva base. Mientras no borres la original, tienes respaldo.
¿Cómo sé que la base de datos se importó correctamente?
Además de listar tablas, puedes comparar el número de registros de una tabla clave usando SELECT COUNT(*) en ambos servidores (antes de borrar la original). También puedes revisar logs de errores de MySQL en /var/log/mysql/error.log.
¿Necesito cambiar algo en Syspanel después de la migración?
Solo si cambiaste el nombre de la base de datos o el usuario. En Syspanel, puedes editar la base de datos para ajustar permisos o contraseñas. No olvides actualizar también los backups programados si los tienes activados.
¿Puedo migrar varias bases de datos a la vez?
Sí, puedes hacer un script que recorra todas las bases y las exporte una por una. Por ejemplo:
for db in $(mysql -u root -p -e "SHOW DATABASES;" | grep -v Database); do
mysqldump -u root -p $db > $db.sql
done
Luego transfieres todos los archivos y los importas de forma similar.
Consejos finales para una migración sin problemas
- Haz siempre una copia de seguridad antes de empezar. Nunca está de más.
- Prueba en un entorno de desarrollo si tienes uno, antes de tocar el servidor de producción.
- Anota todos los cambios que hagas (nombres, contraseñas, rutas) para futuras referencias.
- Revisa los logs de error de tu aplicación después de migrar para detectar posibles problemas de conexión.
- Actualiza los DNS si cambiaste la IP del servidor. Esto puede tardar horas en propagarse.
[WARNING] No olvides eliminar el archivo
.sqldel servidor después de la importación por seguridad. Contiene información sensible (datos de usuarios, contraseñas, etc.). Puedes borrarlo conrm midatabase.sql.
Y eso es todo, amigo. Migrar una base de datos MySQL a un nuevo servidor en Syspanel es un proceso que, con un poco de práctica, harás en pocos minutos. Recuerda que siempre puedes contar con el soporte técnico de Syspanel si tienes dudas. ¡Buena suerte con tu migración!
