
Frecuentemente se tienen dificultades para importar bases de datos MySQL que tengan gran tamaño dentro del proceso de administración de una página web, y resulta muy típíco en la administración de sitios o blogs meidante WordPress. Puede suceder que en algún momento haya que mover las bases de datos de un servidor a otro (p.e. en caso de migración de una página web) y que el nuevo imponga un límite en el tamaño máximo del archivo permitido para la BD. En estos casos, si se intenta cargar bases de datos por encima del límite máximo mediante phpMyAdmin recibiremos un mensaje de error por exceso tras el intento de importación.
Cada servidor de alojamiento permite un tamaño máximo de las bases de datos MySQL que se pueden importar. Desde la opción Importar de phpMyAdmin se puede conocer este límite.

Para salvar esta dificultad hay diferentes herramientas que permiten restaurar de forma sencilla grandes bases de datos MySQL cuando no se puede realizar la importación mediante phpMyAdmin u otros medios debido a los límites impuestos por un servidor web respecto a su tamaño o al tiempo de ejecución. Se pueden diferenciar dos tipos:
- Scripts que se ejecutan internamente desde el propio servidor donde se importa la BD.
- Programas que dividen/trocean los archivos de BD en archivos más pequeños dentro de los límites de tamaño del servidor para su posterior importación vía phpMyAdmin.
Se trata de un script PHP que realiza un volcado escalonado en la importación de bases de datos MySQL, incluso en servidores web con límite de tiempo de ejecución o con modo seguro activado. Funciona de forma que incialmente importa sólo una pequeña parte del volcado total y se reinicia. En la siguiente sesión comienza desde el punto donde se detuvo la anterior.
Utiliza un único archivo, bigdump.php, que se debe abrir con un editor de texto para establecer las configuraciones de acceso a tu servidor MySQL.
El funcionamiento es muy simple. Después de establecer las configuraciones en el archivo bigdump.php y de subirlo a una carpeta (con permisos de escritura) de tu servidor, sólo tienes que llamarlo desde un navegador web. Cuando finalice el proceso, debes eliminarlo de tu servidor.
Utilización
- Exportar la base de datos que queremos restaurar en formato .sql o comprimido .gz (Es conveniente que cuando se haga el volcado con phpMyAdmin se active la casilla de la opción “Añada DROP Table” del modo personalizado. Si no se hace, deberá asegurarse que la restauración se realiza sobre una base de datos vacía).
- DESCARGAR EL SCRIPT DE BIGDUMP.
Visitar el sitio web oficial del autor de BigDump y descargar la última versión. - EDITAR EL SCRIPT DE BIGDUMP.
Descomprimir el archivo descargado (bigdump.zip) y abrir el archivo bigdump.php con un editor de texto como Notepad++ para editar su configuración. - Modificar algunas de las líneas para configurar el script con la información de la base de datos del servidor de destino:
(*) En la mayoría de los casos no será necesario modificar ‘localhost’.$db_server = 'localhost';
$db_name = 'nombre_de_tu_DB';
$db_username = 'nombre_del_usuario_DB';
$db_password = 'contraseña_usuario_DB';
(*) Si estas trabajando con WP puedes encontrar estos datos en el archivo config.php.
(*) No es necesario configurar el nombre de la BD exportada del servidor de origen y que se quiere restaurar (permitidos archivos *.sql y *.gz). En la página que aparece tras ejecutarse el script se mostrarán las BD disponibles y se da la opción de seleccionar cuál de ellas utilizar.
Ajustar, si fuera necesario, el tipo de codificación de la BD (por defecto es utf8):
$db_connection_charset = 'utf8';Establecer los siguientes parámetros:
$linespersession = 3000;Modificar ‘$linespersession‘ si se produce un error debido a que el servidor de destino no soporte ejecutar tantas consultas SQL. Si esto sucede, se edita para reducir el número establecido por otro mas bajo.
$delaypersession = 300;
- SUBIR BIGDUMP AL SERVIDOR.
Guardar los cambios y subir el archivo bigdump.php modificado y la base de datos SQL (*.sql o *.gz) al directorio raíz del sitio en el nuevo servidor mediante un cliente FTP, cPanel o cualquier otra herramienta para ello. (Nota del autor: cuidar de subir en modo TEXT los archvos bigdump.php y *.sql, pero hacerlo en modo BINARY para *.gz si la subida se hace desde MS Windows) - EJECUTAR BIGDUMP.
Ejecutar el archivo bigdump.php desde el navegador vía URL de la siguiente forma:
http://www.tu_dominio/bigdump.php. - Hacer clic en ‘Start Import‘ (iniciar importación).
Como se ha mencionado en nota del paso 4, se pueden dejar vacíos los parámetros opcionales como el nombre del archivo a importar (BD de origen). Si no se pone el nombre de archivo pero subes la base de datos en la misma carpeta que bigdump.php el programa es capaz de identificar el archivo de la BD y facilitar la importación directa. Además permite la opción de cargar cualquier archivo desde el ordenador.
Esparar a que el script termine y mientras no cerrar la ventana del navegador. Si todo va bien se debería mostrar una ventana como esta.

Algunas observaciones:
– BigDump en ocasiones restaura mejor las bases de datos *.sql, por lo que si se obtiene un error con una BD *.sql.gz debe intentarse también con el archivo en formato descomprimido.
– No siempre se tiene éxito: dependerá de las condiciones y calidad del servidor. Puede que la base de datos no se importe en el primer intento. Hacer varios vaciando en cada ocasión previamente el contenido de la BD de destino antes de descartar este procedimiento.
– IMPORTANTE: Por razones de seguridad, cuando el script se ha ejecutado correctamente, se debe eliminar bigdump.php y el archivo de BD subidos previamente en la raíz del servidor.
– En la página oficial se pueden consulatar unas notas avanzadas sobre uso y funcionamiento.
Hay otros programas que trabajan como scripts dentro de los servidores (p.e. MySQLDumper) pero, en general, si ha fallado BigDump estos otros tampoco tendrán éxito.
Trocear la BD e importar desde phpMyAdmin
Existen diversos programas en Windows que dividen los archivos de bases de datos SQL de gran tamaño en varios de un tamaño dentro de los límites de importación del servidor, manteniendo intacta la integridad SQL. No es la solución más eficiente pero funciona siempre: divide y vencerás.
SQLDumpSplitter
SQLDumpSplitter permite dividir archivos SQL en varios parciales que tengan un tamaño inferior al límite establecido por el servidor.

Para realizar la carga en la versión SQLDumpSplitter3, se suben todos los archivos sql fraccionados a través de phpMyAdmin en su orden numérico.
En la versión clásica SQLDumpSplitter2 se importan todos los archivos en su orden a través de phpMyAdmin empezando por el denominado *.DataStructure.sql que contiene la estructura de tablas. Después se importan los otros ficheros *.sql que contienen los datos y registros que completan la estructuctura de tablas creada previamente. Dispone de opción que permite eliminar las líneas de comentarios con lo que se consigue reducir el tamaño total de la BD.
Deja una respuesta