it-swarm.com.de

SQL-Syntaxfehler in der Nähe von gunzip beim Wiederherstellen einer Datenbank mithilfe der .sql.gz-Datei

Ich versuche, eine MySQL-Datenbank mithilfe einer .sql.gz-Datei wiederherzustellen. Ich verwende mySql Console, um einen Befehl auszuführen, da die Dateigröße für phpMyAdmin zu groß ist. Befehl, den ich benutze, ist

gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd

dabei ist root die Benutzer-ID. Es gibt kein Passwort für root. bd ist die Datenbank, in die ich importieren möchte. mysql läuft auf meinem lokalen Rechner (Windows 8). Ich habe ein Wamp-Setup.

Dies ist der Fehler, den ich erhalte:

ERROR 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüf den Handbuch, das Ihrer MySQL-Server-Version für das Recht entspricht zu verwendende Syntax in der Nähe von 'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p' in Zeile 1.

Jede Hilfe wird sehr geschätzt.

Danke und Grüße, Vikalp Jain

11
Vikalp Jain

Wenn Sie gunzip eingeben und ein SQL-Syntaxfehler auftritt, der sich über gunzip beschwert, sind Sie mit bereits in der mysql-Konsole angemeldet. Die MySQL-Konsole ist keine Universal-Shell!

Sie verwenden Windows und ich vermute, dass Sie gzip nicht auf Ihrem Computer installiert haben (es ist kein integriertes Dienstprogramm). Es ist ein klassisches Unix-Tool, aber Sie können Binärdateien für Windows finden. Installieren Sie es und führen Sie Ihren ursprünglichen Befehl mit ein paar Änderungen aus:

  1. Stellen Sie sicher, dass Sie sich in der Windows-Eingabeaufforderung befinden (C:\>).

  2. Umleiten des Gunzip-Ergebnisses auf stdout anstatt einer Datei:

    gunzip --stdout C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd
    

Alternativ können Sie den Speicherauszug auch innerhalb von MySQL promt (mysql>) ausführen, wenn Sie ihn zuerst dekomprimieren (Sie benötigen nicht unbedingt die Befehlszeilengzip, die meisten GUI-Archivierer wie 7-Zip unterstützen dieses Format.

mysql> \. C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql
4

Sie benötigen die Option -c (Ausgabe in stdout).

gunzip -c xxx.sql.gz |mysql -u root -p
68
kisoft

Obwohl Kisofts Antwort die richtige ist, wollte ich nur darauf hinweisen, dass Sie -c nicht benötigen. Es funktioniert jedoch so, wie es ist ... Dieser Befehl entpackt den Datenbank-Dump und importiert ihn in die Datenbank zur selben Zeit. 

gunzip < output.sql.gz | mysql -u <username> -p<password> <database>
22
Comocho00

sie müssen nicht gunzip nur: zcat myfile.gz | mysql -uuser -ppassword mydatabaseit ist auf diese Weise schneller

1
Mirel

Deine Antwort ist schon da

phpMyAdmin: Kann keine riesigen Datenbankdateien importieren, irgendwelche Vorschläge?

Unter der Datei php.ini befindet sich normalerweise die Datei c:\xampp\php oder wampp, je nachdem, was Sie aufgerufen haben

post_max_size=128M
upload_max_filesize=128M

Wenn Sie den Wert ändern, erhalten Sie, was Sie möchten. Viel Glück Vergessen Sie nicht, Apache und MySQL neu zu starten.

1
Wayne Tun

Führen Sie die folgenden Schritte aus, um db mithilfe von .gz-Dateien wiederherzustellen:

1. Run command : gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz

Dadurch wird die GZ-Datei dekomprimiert und bebe_2013-04-06.sql am selben Ort gespeichert.

2. Type the following command to import sql data file:
      mysql -u username -p bd < C:/Vik/Gya/Source/beed_2013-04-06.sql
0
kd12