
📅 Publicado el 19 de septiembre, 2026 · Por Equipo RedServicio
Por qué migrar base de datos MySQL correctamente importa tanto
Migrar base de datos MySQL a otro servidor, a otro proveedor de hosting o a un entorno de pruebas parece sencillo. Hasta que no lo es. Un volcado mal hecho puede dejarte tablas corruptas, tildes convertidas en símbolos extraños o, en el peor caso, información perdida para siempre. Lo he visto más de una vez, y casi siempre por prisas.
La buena noticia: MySQL trae de serie herramientas más que suficientes. mysqldump para exportar, y el cliente mysql o mysqlimport para restaurar. Aquí va el proceso, paso a paso.
En RedServicio llevamos años acompañando traslados, y sabemos que es uno de los momentos más delicados para cualquier webmaster. Por eso nuestro soporte 24/7 sigue el proceso junto al cliente de principio a fin.
Qué es mysqldump y cómo funciona
mysqldump es una utilidad de línea de comandos que genera un archivo de texto con todas las instrucciones SQL necesarias para reconstruir tu base de datos: estructura de tablas, datos, índices, vistas y disparadores. Es el método estándar para exportar bases de tamaño moderado. ¿Suficiente para la mayoría de webs? Sí, de sobra.
Comando básico de exportación
La sintaxis fundamental es esta:
mysqldump -u usuario -p nombre_base_de_datos > backup.sql
Te pedirá la contraseña y generará un archivo backup.sql con todo el contenido. ¿Necesitas volcar todas las bases del servidor?
mysqldump -u root -p --all-databases > todas_las_bases.sql
Opciones recomendadas para una migración segura
- –single-transaction: garantiza consistencia en tablas InnoDB sin bloquearlas. Ideal si la base está en producción.
- –routines –triggers –events: incluye procedimientos almacenados, disparadores y eventos programados. Sin esto, los pierdes.
- –default-character-set=utf8mb4: evita sorpresas con tildes, eñes y emojis.
- –no-tablespaces: útil cuando el usuario no tiene privilegios de PROCESS, algo habitual en hosting compartido.
Un comando completo de ejemplo:
mysqldump -u usuario -p --single-transaction --routines --triggers --events --default-character-set=utf8mb4 mi_tienda > mi_tienda.sql
Cómo restaurar la base de datos con mysql y mysqlimport
Restaurar el volcado SQL completo
Primero, crea la base de datos destino en el nuevo servidor:
mysql -u usuario -p -e "CREATE DATABASE mi_tienda CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
Y después importa el archivo:
mysql -u usuario -p mi_tienda < mi_tienda.sql
Si está comprimido, puedes descomprimir sobre la marcha:
gunzip < mi_tienda.sql.gz | mysql -u usuario -p mi_tienda
Importar datos con mysqlimport
Hay casos en los que solo necesitas cargar datos en formato CSV o TSV dentro de tablas ya existentes. Para eso, mysqlimport. Con un archivo clientes.txt, por ejemplo:
mysqlimport -u usuario -p --local --fields-terminated-by=',' --lines-terminated-by='\n' mi_tienda clientes.txt
Algunos detalles que conviene no pasar por alto:
- El nombre del archivo debe coincidir con el de la tabla (clientes.txt → tabla clientes).
- La opción –local lee el archivo desde tu máquina en lugar del servidor.
- Con –ignore o –replace controlas qué pasa con las filas duplicadas.
- ¿El CSV tiene encabezados? Añade –ignore-lines=1.
Proceso de migración completo paso a paso
- Verifica la compatibilidad de versiones: consulta tu versión con
SELECT VERSION();. Migrar de MySQL 5.7 a 8.0 puede requerir ajustes previos (el motor de autenticación, por ejemplo). - Exporta desde el servidor origen con mysqldump usando las opciones de arriba.
- Transfiere el archivo de forma segura:
scp mi_tienda.sql.gz usuario@nuevoservidor:/tmp/. - Crea la base de datos destino con el juego de caracteres correcto.
- Importa los datos con el cliente mysql o mysqlimport.
- Valida la migración: compara el número de filas de las tablas principales con
SELECT COUNT(*);y revisa registros con caracteres especiales. - Actualiza la cadena de conexión de tu aplicación (config.php, .env, etc.) y prueba el sitio completo.
Errores comunes al migrar base de datos MySQL y cómo evitarlos
- Problemas de codificación: exporta e importa siempre con el mismo charset. Hoy el estándar es utf8mb4, sin discusión.
- Límites de subida en phpMyAdmin: si el volcado supera los límites de PHP, usa la línea de comandos, que no tiene esas restricciones.
- Usuario sin permisos suficientes: comprueba que el usuario destino tenga privilegios CREATE, INSERT y LOCK TABLES.
- Claves foráneas rotas: si la importación falla, desactiva temporalmente la verificación con
SET FOREIGN_KEY_CHECKS=0;al inicio del archivo SQL. - Timeouts en importaciones grandes: lanza la importación con screen o nohup para que no se corte si tu sesión SSH se cierra. Detalle pequeño, dolor de cabeza grande.
Preguntas frecuentes
¿Cuánto tarda una migración de MySQL? Depende del tamaño: una base de 100 MB suele importarse en pocos minutos; bases de varios gigabytes pueden tardar horas. El factor limitante casi siempre es la velocidad de disco del servidor.
¿Puedo migrar sin acceso SSH? Sí, con phpMyAdmin para bases pequeñas. Para volcados grandes, en cambio, lo ideal es SSH, algo que ofrecemos en todos los planes de hosting de RedServicio.
¿mysqldump sirve para bases de datos muy grandes? Con decenas de gigabytes conviene considerar herramientas físicas de backup, pero para la mayoría de webs mysqldump es más que suficiente.
Conclusión
Saber migrar base de datos MySQL con mysqldump y mysqlimport te da independencia: cambiar de servidor, montar entornos de prueba, proteger tus datos sin depender de nadie. La clave está en exportar con las opciones adecuadas, transferir el archivo de forma segura, importar con el juego de caracteres correcto y validar el resultado antes de dar la migración por terminada.
¿Y si prefieres no lidiar con la línea de comandos? También es legítimo. En RedServicio los planes de hosting incluyen migraciones asistidas y soporte técnico 24/7, para que tu web no se detenga ni un minuto.
Equipo RedServicio
Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.
¿Listo para un hosting de verdad?
Servidores en España · Soporte 24/7 en español · Migración gratuita
Ver Planes desde 3,95€/mes →