Ich habe eine .sql
Datei mit einem Export von phpMyAdmin
. Ich möchte es über die Befehlszeile auf einen anderen Server importieren.
Ich habe eine Windows Server 2008 R2-Installation. Ich habe die .sql
Datei auf dem Laufwerk C abgelegt und diesen Befehl ausprobiert
database_name < file.sql
Es funktioniert nicht. Ich bekomme Syntaxfehler.
- Wie kann ich diese Datei problemlos importieren?
- Muss ich zuerst eine Datenbank erstellen?
mysql
sql
command-line
import
Jaylen
quelle
quelle
database < file.sql
sieht für mich nicht nach einem Befehl aus, und wenn Sie Syntaxfehler sehen, teilen Sie diese bitte mitAntworten:
Versuchen:
Überprüfen Sie die MySQL-Optionen .
Hinweis 1: Es ist besser, den vollständigen Pfad der SQL-Datei zu verwenden
file.sql
.Hinweis 2: Verwenden Sie
-R
und--triggers
, um die Routinen und Trigger der Originaldatenbank beizubehalten. Sie werden standardmäßig nicht kopiert.Hinweis-3 Möglicherweise müssen Sie die (leere) Datenbank aus MySQL erstellen, wenn sie noch nicht vorhanden ist und die exportierte SQL nicht enthält
CREATE DATABASE
(exportiert mit--no-create-db
oder-n
Option), bevor Sie sie importieren können.quelle
CREATE DATABASE db-name;
Eine häufige Verwendung von mysqldump ist das Erstellen einer Sicherung einer gesamten Datenbank:
Sie können die Dump-Datei wie folgt zurück auf den Server laden:
UNIX
Das gleiche gilt für die Windows- Eingabeaufforderung:
Power Shell
MySQL-Befehlszeile
quelle
mysql>
Kommandozeile zu starten ? Sie sollten stattdessen Shell verwenden.mysql
direkt von Powershell rennen ?In Bezug auf die Zeit, die für den Import großer Dateien benötigt wird: Vor allem dauert es länger, da die Standardeinstellung von MySQL ist
autocommit = true
. Sie müssen dies vor dem Importieren Ihrer Datei deaktivieren und dann überprüfen, wie der Import wie ein Juwel funktioniert.Sie müssen nur Folgendes tun:
quelle
source
Befehl, den ich vergessen habe. Die meisten von uns möchten dies tun, während wir unter anderem als eigenständiger Befehl angemeldet sind , nicht als Standard-Oneliner für Anmelden> Injizieren> Abmelden über Google Serps.autocommit=0
Portion machte einen großen Unterschied in Bezug auf die Geschwindigkeit.autocommit=0
bei größeren Dateien? wie 8 GB SQL-Datei.autocommit
. Es lohnt sich, den Datenbankspeicherauszug in einem Editor zu überprüfen, der möglicherweise bereits beginntSET autocommit=0;
.Unter allen Antworten für das obige Problem ist dies die beste:
quelle
Mit diesem Befehl können wir SQL von der Befehlszeile importieren:
Zum Beispiel, wenn der Benutzername
root
und das Passwort istpassword
. Und Sie haben einen Datenbanknamen alsbank
und die SQL-Datei istbank.sql
. Dann machen Sie einfach so:Denken Sie daran, wo sich Ihre SQL-Datei befindet. Wenn sich Ihre SQL-Datei im
Desktop
Ordner / Verzeichnis befindet, wechseln Sie in das Desktop-Verzeichnis und geben Sie den folgenden Befehl ein:Und wenn Sie sich im
Project
Verzeichnis befinden und sich Ihre SQL-Datei imDesktop
Verzeichnis befindet. Wenn Sie über dasProject
Verzeichnis darauf zugreifen möchten, können Sie Folgendes tun:quelle
-p
undpassword
mysql -u root -p"password" bank < bank.sql
mysql -u username -ppassword db_name < file.sql
.bash_history
Einfachste Möglichkeit zum Importieren in Ihr Schema:
Melden Sie sich bei MySQL an und geben Sie die unten genannten Befehle ein.
quelle
Wenn Sie die Datenbank bereits haben, importieren Sie
dump
diesql
Datei oder die Datei wie folgt :Wenn Sie dies nicht tun, müssen Sie die entsprechende Datenbank (leer) in MySQL erstellen. Melden Sie sich dazu zuerst an der
MySQL
Konsole an, indem Sie den folgenden Befehl im Terminal oder in cmd ausführenUnd wenn Sie dazu aufgefordert werden, geben Sie das Passwort ein.
Erstellen Sie als Nächstes eine Datenbank und verwenden Sie sie:
Importieren Sie dann die Datei
sql
oder diedump
Datei ausHinweis: Wenn sich Ihr Terminal nicht an dem Ort befindet, an dem die Datei
dump
odersql
vorhanden ist, verwenden Sie den obigen relativen Pfad.quelle
1.
Erstellen Sie die Datenbank, falls keine vorhanden ist.2.
Zeigen Sie mit der Quelldatei auf die erstellte Datenbank, um Daten / Metadaten zu importieren.bin
Ordner des MySQL-Servers ein.source databasefilename.sql
und einEnterquelle
Eine Lösung, die für mich funktioniert hat, ist unten:
quelle
Verwenden Sie den folgenden Befehl, um eine Datenbank in eine SQL-Datei zu sichern.
Gehen Sie folgendermaßen vor, um eine SQL-Datei in eine Datenbank zu importieren (stellen Sie sicher, dass Sie sich im selben Verzeichnis wie die SQL-Datei befinden, oder geben Sie den vollständigen Pfad zur Datei an):
quelle
Wechseln Sie in das Verzeichnis, in dem sich die ausführbare MySQL-Datei befindet.
-u
für Benutzername und-p
zur Eingabe des Passworts:quelle
Ich denke, es ist erwähnenswert, dass Sie auch eine komprimierte (komprimierte) Datei mit der folgenden
zcat
Abbildung laden können :quelle
Verwenden Sie den folgenden Befehl, um eine einzelne Datenbank zu importieren.
Verwenden Sie den folgenden Befehl, um mehrere Datenbankspeicherauszüge zu importieren.
quelle
quelle
Verwenden Sie Folgendes, um mehrere SQL-Dateien gleichzeitig zu importieren:
Zum einfachen Importieren:
Für WAMP :
Für XAMPP:
quelle
Sie müssen den Namen der Datenbank nicht in der Befehlszeile angeben, wenn die SQL-Datei
CREATE DATABASE IF NOT EXISTS db_name
undUSE db_name
Anweisungen enthält .Stellen Sie einfach sicher, dass Sie eine Verbindung mit einem Benutzer herstellen, der über die Berechtigungen zum Erstellen der Datenbank verfügt, wenn die in der SQL-Datei angegebene Datenbank nicht vorhanden ist.
quelle
Importieren Sie eine Datenbank
Zum Fahren gehen:
MySQL-Login
Es wird nach pwd fragen. Geben Sie es ein:
Wählen Sie die Datenbank aus
Geben Sie den Dateinamen an
quelle
Gehen Sie in das Verzeichnis, in dem Sie MySQL haben.
Verwenden Sie die
-all-databases
Option, um alle Datenbanken zu sichern, und es muss kein Datenbankname mehr angegeben werden.Oder Sie können dazu einige GUI-Clients wie SQLyog verwenden.
quelle
Verwenden:
Verwenden Sie die MySQL-Hilfe für Details -
mysql --help
.Ich denke, dies werden in unserem Kontext nützliche Optionen sein:
Was macht Spaß, wenn wir eine große Datenbank importieren und keinen Fortschrittsbalken haben? Verwenden Sie den Pipe Viewer und sehen Sie sich die Datenübertragung durch das Pipe an
Für Mac
brew install pv
Für Debian / Ubuntu ,
apt-get install pv
.Weitere Informationen finden Sie unter pv - Pipe Viewer
quelle
yum install pv
Fügen Sie die
--force
Option hinzu :quelle
Während die meisten Antworten hier nur den einfachen Befehl erwähnen
Heutzutage ist es durchaus üblich, dass Datenbanken und Tabellen eine utf8-Kollatierung haben, bei der dieser Befehl nicht ausreicht. Wenn utf8-collation in den exportierten Tabellen vorhanden ist, muss dieser Befehl verwendet werden:
Surley das funktioniert auch für andere Zeichensätze, wie man die richtige Notation zeigt, kann man hier sehen:
In einem Kommentar wurde auch erwähnt, dass, wenn eine Datenbank nie existiert, zuerst eine leere Datenbank erstellt werden musste. Dies kann in einigen Fällen richtig sein, hängt jedoch von der Exportdatei ab. Wenn die exportierte Datei bereits den Befehl zum Erstellen der Datenbank enthält, muss die Datenbank niemals in einem separaten Schritt erstellt werden, was sogar zu einem Fehler beim Import führen kann. Beim Importieren ist es daher ratsam, zuerst in der Datei nachzuschauen, welche Befehle dort enthalten sind. Beim Exportieren sollten die Einstellungen beachtet werden, insbesondere wenn die Datei sehr groß und in einem Editor schwer zu lesen ist.
Es gibt noch weitere Parameter für den Befehl, die hier aufgelistet und erklärt werden:
Wenn Sie eine andere Datenbankversion verwenden, sollten Sie auch nach der entsprechenden Version des Handbuchs suchen. Die genannten Links beziehen sich auf MySQL Version 5.7.
quelle
Zum Exportieren einer Datenbank:
Zum Importieren einer Datenbank:
quelle
Der folgende Befehl funktioniert für mich über die Befehlszeile (cmd) unter Windows 7 unter WAMP .
quelle
Sie können diese Abfrage versuchen.
Export:
Importieren:
und Details über diesen Link:
https://chartio.com/resources/tutorials/importing-from-and-exporting-to-files-using-the-mysql-command-line/
quelle
Ich dachte, es könnte für diejenigen nützlich sein, die Mac OS X verwenden :
Ersetzen Sie
xampp
mitmamp
oder anderen Web - Servern.quelle
Manchmal ist auch der definierte Port sowie die Server- IP-Adresse dieser Datenbank von Bedeutung ...
quelle
In die Datenbank importieren:
Export aus der Datenbank:
Nach diesen Befehlen werden Sie nach Ihrem MySQL-Passwort gefragt.
quelle
Erstellen Sie zu Sicherungszwecken eine BAT-Datei und führen Sie diese BAT-Datei mit dem Taskplaner aus . Es wird eine Sicherungskopie der Datenbank erstellt. Kopieren Sie einfach die folgende Zeile, fügen Sie sie in den Editor ein, speichern Sie die .bat-Datei und führen Sie sie auf Ihrem System aus.
quelle
Die folgenden Schritte helfen beim Hochladen
file.sql
in die MySQL-Datenbank.Schritt 1: Laden Sie
file.sql.zip
in einem beliebigen Verzeichnis entpacken und dortHinweis :
sudo apt-get install unzip
:sudo apt-get unzip file.sql.zip
Schritt 2: Navigieren Sie nun in dieses Verzeichnis. Beispiel:
cd /var/www/html
Schritt 3:
mysql -u username -p database-name < file.sql
Geben Sie das Passwort ein und warten Sie, bis der Upload abgeschlossen ist.
quelle
Ich bin immer wieder auf das Problem gestoßen, bei dem die Datenbank nicht erstellt wurde.
Ich habe es so repariert
quelle