2009-05-13 34 views
77

No estoy seguro de cómo importar un archivo de volcado de SQL. Parece que no puedo importar la base de datos sin crear primero la base de datos en MySQL.Error al importar SQL Dump en MySQL: base de datos Desconocida/No se puede crear la base de datos

Ésta se visualiza el error cuando database_name aún no ha sido creado:

username = nombre de usuario de una persona con acceso a la base de datos en el servidor original.
database_name = nombre de la base de datos del servidor original

$ mysql -u username -p -h localhost database_name < dumpfile.sql 
Enter password: 
ERROR 1049 (42000): Unknown database 'database_name' 

Si puedo acceder a MySQL como root y crear la base de datos, database_name

mysql -u root 
create database database_name; 
create user username;# same username as the user from the database I got the dump from. 
grant all privileges on database_name.* to [email protected]"localhost" identified by 'password'; 
exit mysql 

luego intentar importar el volcado sql nuevo:

$ mysql -u username -p database_name < dumpfile.sql 
Enter password: 
ERROR 1007 (HY000) at line 21: Can't create database 'database_name'; database exists 

¿Cómo se supone que debo importar el archivo dump de SQL?

Respuesta

38

Abra el archivo sql y comente la línea que intenta crear la base de datos existente.

+5

@BryanWheelock Creo que una opción mejor (industrializable) sería no seleccionar la base de datos en su comando, por lo que se convierte en: "mysql -u username -p -h localhost toni07

9

Parece que el volcado de su base de datos incluye la información para crear la base de datos. Así que no le des a la línea de comandos de MySQL un nombre de base de datos. Creará la nueva base de datos y cambiará a ella para realizar la importación.

43

Este es un error conocido en MySQL.

bug 42996
bug 40477

Como se puede ver que esto ha sido un problema conocido desde 2008 y no han fijado todavía !!!

trabajo alrededor
primero tiene que crear la base de datos a importar. No necesita ninguna tabla. Entonces puedes importar tu base de datos.

  1. primera comenzar su línea de comandos de MySQL (solicitar nombre de usuario y la contraseña si es necesario)
    C:\>mysql -u user -p

  2. Crear su base de datos y salida

    mysql> DROP DATABASE database; 
    mysql> CREATE DATABASE database; 
    mysql> Exit 
    
  3. importar sus bases de datos seleccionado a partir del archivo de volcado
    C:\>mysql -u user -p -h localhost -D database -o < dumpfile.sql

Puede reemplazar localhost con una IP o dominio para cualquier servidor MySQL que desee importar. El motivo del comando DROP en el indicador mysql es asegurarnos de comenzar con una base de datos vacía y limpia.

+2

Agradezco la respuesta. Ahora es 2012 y parece que el error todavía está allí, porque utilicé tu respuesta para que mi databae de wordpress fuera restaurado a un nuevo servidor (ten en cuenta que a tus comentarios de MySQL les falta el final ';'; ;-) – Karl

3

Si crea su base de datos en la administración directa o cpanel, debe editar el SQL con el bloc de notas o notepad ++ y cambiar CREATE DATABASE comando para CREATE DATABASE IF NOT EXISTS en line22

0

puedo crear la base de datos mí mismo usando la línea de comandos. Luego intenta importar de nuevo, funciona.

Cuestiones relacionadas