Ich bin verwirrt, wie man eine SQL-Dump-Datei importiert. Ich kann die Datenbank scheinbar nicht importieren, ohne sie zuerst in MySQL zu erstellen.
Dies ist der Fehler, der angezeigt wird, wenn er database_name
noch nicht erstellt wurde:
username
= Benutzername einer Person mit Zugriff auf die Datenbank auf dem ursprünglichen Server.
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 username@"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 das SQL-Dumpfile importieren?
mysql
sql
mysqldump
mysql-error-1049
mysql-error-1007
BryanWheelock
quelle
quelle
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 !!!
UMARBEITEN
Sie müssen zuerst die zu importierende Datenbank erstellen. Es braucht keine Tabellen. Dann können Sie Ihre Datenbank importieren.
Starten Sie zuerst Ihre MySQL-Befehlszeile (wenden Sie bei Bedarf Benutzername und Passwort an).
C:\>mysql -u user -p
Erstellen Sie Ihre Datenbank und beenden Sie
Importieren Sie Ihre ausgewählte Datenbank aus der Dump-Datei
C:\>mysql -u user -p -h localhost -D database -o < dumpfile.sql
Sie können localhost durch eine IP oder Domain für jeden MySQL-Server ersetzen, auf den Sie importieren möchten. Der Grund für den DROP-Befehl in der MySQL-Eingabeaufforderung besteht darin, sicherzustellen, dass wir mit einer leeren und sauberen Datenbank beginnen.
quelle
Es hört sich so an, als ob Ihr Datenbankspeicherauszug die Informationen zum Erstellen der Datenbank enthält. Geben Sie der MySQL-Befehlszeile also keinen Datenbanknamen. Es wird die neue Datenbank erstellt und zu ihr gewechselt, um den Import durchzuführen.
quelle
Wenn Sie Ihre Datenbank in Direct Admin oder Cpanel erstellen, müssen Sie Ihre SQL mit Notepad oder Notepad ++ bearbeiten und den
CREATE DATABASE
BefehlCREATE DATABASE IF NOT EXISTS
in Zeile 22 ändernquelle
Ich erstelle die Datenbank selbst über die Kommandozeile. Versuchen Sie dann erneut zu importieren, es funktioniert.
quelle