Cargar SQL de gran tamaño en Windows
Ayer me puse a hacer algunas modificaciones en la web de mi residencia, y como es lógico, me bajé la base de datos para trabajar en local. Esto con phpmyadmin no tiene ningún misterio, pero a la hora de importar sí que da problemas, al ser un archivo muy grande, ocasiona time out y diversos problemas.
Por ello, tras investigar un poco, me decidí a hacerlo por consola en Windows, con lo que en apenas 3 segundos se importó todo perfectamente. El proceso empieza logueándonos en mysql:
C:\xampp\mysql\bin\mysql.exe -u root -p
Una vez introducida la contraseña, tendremos que seleccionar la base de datos sobre la que vamos a importar los datos:
USE apartamentos
Y por último le decimos el fichero del cual queremos importar, para lo cual he copiado el fichero a C:/ para que sea más sencilla la ruta.
mysql > source C:/apartamentos.sql
Con esto nos saldrá un largo debug, y como digo, tendremos importada una base de datos de 10MB en apenas 3 segundos. Unos cursos de mysql me hubieran llevado más tiempo:
mysql > source C:/apartamentos.sql Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.16 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.03 sec) Query OK, 4079 rows affected (0.34 sec) Records: 4079 Duplicates: 0 Warnings: 0 ...

Suscríbete
28/09/2008
02:34
Categorías:
Comentar
Tags:

¡Muy bien Pat! Por fin lo sacaste a la luz, una de esas entradas que sirven para recordar siempre. La verdad que con MySQLDumper también va decente, pero no 3 segundos. Así lo hacíamos en Bases de Datos, o algo parecido, porque me suena mucho.
@Rafa…eL esto lo bueno que tiene es que no tienes que instalarte nada a mayores, aunque igual pruebo algún programilla de estos, porque el phpmyadmin algunas veces me peta con las troncho-consultas
Yo suelo usar el MySQL Query Browser. Traga con todo, incluso si la bbdd esta en un servidor extrerno…
Lo bonito es lo siguiente:
máquina 1:
# mysqldump -uroot -ppass databasename | nc mi_servidor_de_backup 8080
máquina 2:
#nc -l 8080 | mysql -uroot -ppass databasename