lunes, 24 de septiembre de 2018

Importar ficheros de gran tamaño en MySQL

Una consulta recurrente de algunos compañeros es referente a los problemas de importación de bases de datos en entornos MySQL, en especial con el uso de MySQL Workbench. Aunque debo reconocer que Workbench me encanta por su simplicidad, comodidad de uso y diseño, los archivos pesados, y con esto, al menos en mi caso, me refiero a un par de gigas de BBDD, se le atragantan.


Vamos a ver unos cuantos métodos para realizar esta importación de bases de datos.

1º El método tradicional: importar datos.

Desde MySQL, vamos a "server", y seleccionamos "Data import". En la pantalla que aparecerá, seleccionamos "Import from Self-Contained File", y le indicamos dónde está el archivo que queremos importar.


Es MUY importante marcar el "Default Target Schema" al que debe importarse el script, porque no siempre el script apunta sobre dónde se deben ejecutar los cambios, así que es mejor indicarlo, adicionalmente, de forma manual. Mejor prevenir que curar.

2º Método secundario: abrir el script y ejecutarlo a mano.

Desde Workbench, vamos a "File", y "Open SQL Script". Una vez abierto, lo ejecutamos, desde el símbolo del rayo.
Este sistema tiene la ventaja sobre el anterior que si falla, vas a ver exactamente en qué punto, algunas veces fallando al inicio, de manera que tienes la seguridad de que no se ha modificado nada. Desde el método de importación, si se bloquea por tamaño, no sabes exactamente en qué punto, y si debes detener el proceso, paso irremediable muchas veces, dejarás la BBDD inestable, debiendo recurrir a backup para restaurarla.

3º Línea de comandos: lo más fiable.

Abriremos una consola y conectamos con MySQL, y directamente, con la BBDD que nos interese. Para ello, ejecutamos mysql, con los parámetros -u y la BBD.
Ejemplo: mysql -u <username> -p <database>
Pongamos que utilizamos el usuario root y la BBDD "miBBDD", por poner un ejemplo. Entonces, escribiríamos lo siguiente: ysql -u root -p MiBBDD
Seguidamente, pedirá poner el password del usuario root. Lo escribimos y pulsamos Enter.
El prompt de la consola cambiará a MySQL.

Lo siguiente sería ejecutar la BBDD a importar. Supongamos que es el archivo "backup.sql", y lo hemos alojado en C:, por comodidad. Pues pondríamos el siguiente comando:"source C:/backup.sql"
(Siempre es preferible dar la ruta completa del archivo a importar).

Con esto, se habrá realizado la importación sin mayores problemas

No hay comentarios:

Publicar un comentario

¡Gracias por colaborar en este blog con tus comentarios! :)