Importar bases de datos MySQL muy grandes puede ser un reto debido a límites de tamaño y tiempo en herramientas comunes como phpMyAdmin. En esta guía te explicaré cómo hacerlo sin problemas, utilizando métodos confiables y accesibles para cualquier nivel.
LightDump: Importador
Es un script PHP que realiza importación de bases de datos MySQL, incluso en servidores web con límite de tiempo de ejecución o que están en modo seguro (safe mode) habilitado.Hubo un código inicial, del 2003, el cual pasó por diversos cambios hasta el 2009, yo realicé algunas modificaciones y lo actualicé para que pueda trabajar y sea compatible hoy en día. Es sencillo de usar y no requiere ningún conocimiento de codificación. Todo lo que necesita son los datos de la conexión de la base de datos.
Exportar en formato .sql la base de datos que queremos importar (cuando haga la exportación por phpMyAdmin, en método de exportación personalizado active la casilla de la opción “Añada DROP Table”, si no asegurarse que la restauración se realiza sobre una base de datos vacía).
Descargar el archivo lightdump_importer.php (LightDump), aquí es necesario agregar los datos de su base de datos en el archivo y sus datos de autenticación (cualquiera que recuerden). La base de datos donde va importar, no debe contener tablas en él, debe estar vacía.
$db_server = 'localhost';
$db_name = 'nombre_de_tu_DB';
$db_username = 'nombre_de_usuario_DB';
$db_password = 'contraseña_de_usuario_DB';
$filename = 'nombre_archivo_DB';
$auth_user = 'nombre_de_usuario_de_autenticación';
$auth_password = 'contraseña_de_autenticación';
Después de configurar el archivo lightdump_importer.php, crear un directorio en la raíz de su sitio web, por ejemplo, www.misitioweb.com/tmp/. La copia de seguridad de su base de datos y el archivo lightdump_importer.php deben ser subidos aquí.
Ahora sólo tiene que ejecutar la secuencia de comandos en el lugar que se ha cargado, desde su navegador llamar al script para su ejecución: www.misitioweb.com/tmp/lightdump_importer.php. Aparecerá una ventanita de autenticación (el modelo depende del navegador que esté usando) en donde tendrá que ingresar sus datos que ingresó anteriormente en los campos 'nombre_de_usuario_de_autenticación' y 'contraseña_de_autenticación'.
Cuando se lanza el script, no se obtiene el resultado de inmediato en la ventana del navegador hasta que la importación finaliza. Esto significa que con una base de datos sin comprimir de 1000 Mb (1 Gb), por ejemplo, el resultado tardará en aparecer unos tres minutos aproximadamente, dependiendo de la velocidad del servidor. No cerrar ni hacer nada con esa ventana del navegador, hasta que el script concluya y muestre el resultado.
Cada vez que se lanza el script, se borra la estructura de la base de datos y se restituye el contenido del dump. El script procesa consulta por consulta, lo que significa que da igual el tamaño de la base de datos a restaurar.
Una vez concluido el trabajo del script, en la ventana del navegador se obtendrá un resultado similar a este:
Nota: Por razones de seguridad, una vez finalizado el proceso eliminar el script lightdump_importer.php y el archivo .sql cargado a su servidor.
Descargar el archivo script PHP.
BigDump: Importador volcado escalonada MySQL
Es un script PHP que realiza un cargado escalonado en la importación de bases de datos MySQL, incluso en servidores web con límite de tiempo de ejecución o que están en modo seguro (safe mode) habilitado. Funciona de forma que inicialmente importa sólo una pequeña parte del cargado total y se reinicia, en la siguiente sesión comienza desde el punto donde se detuvo la anterior.Es sencillo de usar y no requiere ningún conocimiento de codificación. Todo lo que necesita son los datos de la conexión de la base de datos.
Exportar en formato .sql la base de datos que queremos importar (cuando haga la exportación por phpMyAdmin, en método de exportación personalizado active la casilla de la opción “Añada DROP Table”, si no asegurarse que la restauración se realiza sobre una base de datos vacía).
Descargar el archivo bigdump.php (BigDump), aquí es necesario agregar los datos de su base de datos en el archivo. La base de datos donde va importar, no debe contener tablas en él, debe estar vacía.
$db_server = 'localhost';
$db_name = 'nombre_de_tu_DB';
$db_username = 'nombre_de_usuario_DB';
$db_password = 'contraseña_de_usuario_DB';
$filename = 'nombre_archivo_DB.sql';
Después de configurar el archivo bigdump.php, crear un directorio en la raíz de su sitio web, por ejemplo, www.misitioweb.com/dump/. La copia de seguridad de su base de datos y el archivo bigdump.php deben ser subidos aquí.
Ahora sólo tiene que ejecutar la secuencia de comandos en el lugar que se ha cargado, desde su navegador llamar al script para su ejecución: www.misitioweb.com/dump/bigdump.php.
Para comenzar la importación hacer clic en "Iniciar importación" (Start Import).
En caso de que el archivo .sql a importar incluya sentencias "CREATE DATABASE" se producirán errores como este:
Lo solucionamos editando el archivo .sql, aquí eliminar la siguiente entrada (normalmente se encuentra al principio del archivo):
Descargar el archivo script PHP.
SQLDumpSplitter 2
En la página de descarga ir donde dice "So here we go: SQLDumpSplitter.zip".
SQL-Splitter
Descargar programa.
🐘 Importar vía terminal (SSH)
Si tienes acceso a la terminal, este es el método más efectivo:
mysql -u usuario -p nombre_base_de_datos < respaldo.sql
Sustituye usuario
y nombre_base_de_datos
con tus datos reales. Este comando importa el archivo SQL directamente a tu base de datos.
💡 Consejos para evitar errores
- Divide archivos muy grandes en partes si no usas BigDump o terminal.
- Asegúrate que el archivo SQL esté correctamente exportado y sin errores.
- Incrementa los límites de tiempo y tamaño en tu servidor si es posible.
- Realiza un respaldo previo para evitar pérdida de datos.
📢 Conclusión
Importar bases de datos MySQL grandes no tiene por qué ser complicado. Con herramientas como BigDump o el uso de la terminal, podrás hacerlo sin miedo a errores ni límites de tamaño.
🔗 Enlaces útiles
👉 ¿Te ha resultado útil este artículo?
💬 Déjame tu comentario abajo, 🔗 compártelo con quienes puedan aprovecharlo y únete a mi comunidad en redes sociales para no perderte ningún contenido de valor. ¡Tu apoyo nos ayuda a seguir creciendo juntos! 👇