¿Cómo importar un archivo .sql en MySQL?

39

Estoy tratando de importar un archivo .sql usando MySQL Workbench y aparece este error:

ERROR 1046 (3D000) at line 28: No database selected

Primero creé una base de datos vacía llamada con el mismo nombre que el archivo .sql pero no funciona. También intenté hacerlo con el cliente de comando mysql usando:

mysqldump -u root database > file.sql 

Pero dice que tengo un error en mi sintaxis SQL. Además, no sé la ruta donde tengo que configurar el archivo.sql.

RolandoMySQLDBA
fuente
Pude importar mysqldump usando el siguiente mysql> use mydatabase; mysql> fuente sql_file.sql;
Giridharan Venugopal

Respuestas:

49

Exportar:

mysqldump -u username –-password=your_password database_name > file.sql

Importar:

mysql -u username –-password=your_password database_name < file.sql 
juergen d
fuente
9
No debe haber espacio entre -pypassword
tumba
¿Qué pasa si no tengo una contraseña?
Luego omita el parámetro de contraseña.
Kazimieras Aliulis
Piping ( mysqldump db -uuser -ppass|mysql new_db -uuser -ppass) elimina la necesidad de usar un archivo intermedio.
Pacerier
2
La base de datos tiene que existir en MySQL para que esto funcione, creo.
Noumenon
28

También puede importar un archivo .sql como usuario ya conectado a la base de datos:

mysql> use your_database_name;

mysql> source file.sql;
tdaget
fuente
3
fuente D: /path/file.sql; funciona excelente! recuerde la barra frontal en lugar de la barra posterior.
Imdad
6

Otra forma de importar archivos de volcado cuando source <filename>no funciona es hacer lo siguiente:

Tugurio

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

Importar

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql
Mike S.
fuente
5

Juergen d's respuesta es correcta, por supuesto; sin embargo, teniendo en cuenta su mensaje de error, también puede agregar a su archivo SQL en la línea inicial como:

USE your_database_name;

Esto también debería hacer el trabajo y permitirle importar bajo Workbench.

Cuando esté utilizando mysqldump, el archivo exportado se guardará en la carpeta actual. No importa en qué camino se encuentre. Justo al importar desde la línea de comandos, debe estar en la misma carpeta o especificar la ruta al archivo. Pero este no es el caso cuando está utilizando una herramienta visual como Workbench, donde necesita seleccionar el archivo del árbol de carpetas de todos modos.

Comunidad
fuente
2

Te falta la contraseña en el comando. Use lo siguiente.

mysql --u [username] --password=[password] [database name] < [dump file]

fuente
1

Para Windows, en el directorio de instalación del servidor MySQL (por ejemplo C:\Program Files\MySQL\MySQL Server 5.5), en el my.ini file, agregue la siguiente línea [mysqld]en la sección del servidor:

max_allowed_packet = 16M

Y guarda los cambios. (Si no puede guardar, copie y pegue en el escritorio y edite nuevamente, luego péguelo en la misma ubicación).

Después de eso, reinicie su servidor MySQL.

usuario24439
fuente