it-swarm.com.de

Fehler beim Importieren eines SQL-Dumps in MySQL: Unbekannte Datenbank/Datenbank kann nicht erstellt werden

Ich bin verwirrt, wie man eine SQL-Dump-Datei importiert. Ich kann die Datenbank nicht importieren, ohne zuerst die Datenbank in MySQL zu erstellen.

Dies ist der Fehler, der angezeigt wird, wenn database_name noch nicht erstellt wurde: 

username = Benutzername einer Person, die Zugriff auf die Datenbank auf dem ursprünglichen Server hat.
database_name = Name der Datenbank vom ursprünglichen Server 

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

Wenn ich mich als root bei MySQL anmelde und die Datenbank erstelle, 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

versuchen Sie dann erneut, den SQL-Speicherauszug zu importieren: 

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

Wie soll ich die SQL-Datei importieren?

83
BryanWheelock

Öffnen Sie die SQL-Datei und kommentieren Sie die Zeile aus, mit der die vorhandene Datenbank erstellt werden soll.

37
Bjorn Tipling

Dies ist ein bekannter Fehler bei MySQL.

Fehler 42996
Fehler 40477

Wie Sie sehen, ist dies seit 2008 ein bekanntes Problem, und sie haben es noch nicht behoben !!!

ARBEIT UM
Sie müssen zuerst die zu importierende Datenbank erstellen. Es braucht keine Tische. Dann können Sie Ihre Datenbank importieren.

  1. starten Sie zuerst Ihre MySQL-Befehlszeile (verwenden Sie ggf. Benutzername und Passwort).
    C:\>mysql -u user -p

  2. Erstellen Sie Ihre Datenbank und beenden Sie den Vorgang 

    mysql> DROP DATABASE database;  
    mysql> CREATE DATABASE database;  
    mysql> Exit  
    
  3. Importieren Sie die ausgewählte Datenbank aus der Sicherungsdatei
    C:\>mysql -u user -p -h localhost -D database -o < dumpfile.sql

Sie können localhost durch eine IP oder Domäne für jeden MySQL-Server ersetzen, in den Sie importieren möchten .. Der Grund für den Befehl DROP in der mysql-Eingabeaufforderung besteht darin, dass Sie mit einer leeren und sauberen Datenbank beginnen.

49
Max Kielland

Es scheint, als ob Ihr Datenbank-Dump die Informationen zum Erstellen der Datenbank enthält. Geben Sie der MySQL-Befehlszeile also keinen Datenbanknamen. Es erstellt die neue Datenbank und wechselt zu ihr, um den Import durchzuführen.

11
Paul Tomblin

Wenn Sie Ihre Datenbank im direkten Admin oder Cpanel erstellen, müssen Sie Ihre SQL mit Notepad oder Notepad ++ bearbeiten und den Befehl CREATE DATABASE in Zeile22 in CREATE DATABASE IF NOT EXISTS ändern

4
MaysaM

Ich erstelle die Datenbank selbst über die Befehlszeile. Versuchen Sie dann erneut zu importieren, es funktioniert.

0
wmlhust