it-swarm.com.de

Wie lade ich eine sql.gz-Datei in meine Datenbank? (Importieren)

Ich versuche, eine komprimierte SQL-Datei direkt in MySQL zu importieren. Ist das der richtige Weg?

mysql -uroot -ppassword mydb > myfile.sql.gz
165
Alex
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database

> schreibt die Ausgabe des Befehls mysql auf stdout in die Datei myfile.sql.gz was höchstwahrscheinlich nicht das ist, was du willst. Außerdem werden Sie mit diesem Befehl zur Eingabe des Kennworts des MySQL-Benutzers "root" aufgefordert.

262
joschi

Laden Sie pv herunter und verwenden Sie Folgendes, um beim Importieren einer sql.gz-Datei einen Fortschrittsbalken anzuzeigen:

pv mydump.sql.gz | gunzip | mysql -u root -p <database name>

In CentOS/RHEL können Sie pv mit yum install pv Installieren.

In Debian/Ubuntu apt-get install pv.

In MAC ist brew install pv

86
Banjer

Am einfachsten ist es, die Datenbankdatei vor dem Import zu entpacken. Auch wie von @ Prof. Moriarty erwähnt, sollten Sie das Passwort nicht im Befehl angeben (Sie werden nach dem Passwort gefragt). Dieser Befehl aus Webcheatsheet entpackt und importiert die Datenbank auf einmal:

gunzip < myfile.sql.gz | mysql -u root -p mydb
56
icc97

Wenn Sie eine Fehlermeldung von zcat erhalten, in der die Fehlermeldung den Dateinamen mit einem zusätzlichen Suffix .Z Enthält, versuchen Sie stattdessen, gzcat zu verwenden, wie unter beschrieben -https: //stackoverflow.com/questions/296717/zcat-wont-unzip-files-properly

15

Unter macOS habe ich Folgendes verwendet:

zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]

Geben Sie Ihr Passwort ein und voila!

5
Qasim

Überprüfen Sie auch, ob die SQL-Datei eine USE-Anweisung enthält. Die Angabe der Datenbank in der Befehlszeile garantiert nicht, dass die Daten dort landen, wenn in der SQL-Datei ein anderes Ziel angegeben wird.

4
ikso

Verwenden Sie für bzip2 komprimierte Dateien (.sql.bz2):

bzcat <file> | mysql -u <user> -p <database>

OR

pv <file> | bunzip2 | mysql -u <user> -p <database>

um den Fortschrittsbalken zu sehen.

1
TimSparrow

Sie können die Option -c, --stdout, --to-stdout Des Befehls gunzip verwenden

zum Beispiel:

gunzip -c file.sql.gz | mysql -u root -p database
0
Ali Jazayeri

So exportieren Sie den Befehl .sql.qz wie folgt: -

mysqldump -u Benutzername -p Datenbank | gzip> database.sql.gz

So importieren Sie den Dateibefehl .sql.qz wie folgt: -

gunzip <database.sql.gz | mysql -u usrname -p newdatabase

Shailesh Thapa

0
Shailesh Thapa