624 Stimmen

Wie führt man ein SQL-Skript in MySQL aus?

Ich möchte eine Textdatei, die SQL-Abfragen enthält, in MySQL ausführen.

Ich habe versucht, die source /Desktop/test.sql und erhielt die Fehlermeldung:

mysql> . \home\sivakumar\Desktop\test.sql FEHLER: Datei konnte nicht geöffnet werden ' \home\sivakumar\Desktop\test.sql ', Fehler: 2

Haben Sie eine Idee, was ich falsch mache?

4voto

Mike Punkte 55

Wenn Sie diesen Befehl ausprobieren:

mysql -u root -proot -D database < /path/to/script.sql

Sie können eine Fehlermeldung wie diese erhalten: wenn Sie Sonderzeichen haben, hauptsächlich '`'

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/path/to/script.sql' at line 1

Ich würde also vorschlagen, einen Befehl wie diesen zu verwenden:

echo "source /path/to/script.sql" | mysql -u root -proot -D database

Dieser Befehl führt aus source /path/to/script.sql sobald sie mit dem Server verbunden sind, die Ihr Skript ausführen.

4voto

3xCh1_23 Punkte 1405

Seit mysql -u yourusername -p yourpassword yourdatabase < text_file funktionierte nicht auf einem entfernten Server (Amazons EC2)...

Stellen Sie sicher, dass die Datenbank zuerst erstellt wird.

Dann:

mysql --host=localhost --user=your_username --password=your_password your_database_name < pathTofilename.sql

3voto

Chad Mx Punkte 1176

Als Referenz für die Zukunft habe ich herausgefunden, dass dies im Vergleich zu den oben erwähnten Methoden unter Windows in der msql-Konsole funktioniert:

mysql>> source c://path_to_file//path_to_file//file_name.sql;

Wenn Ihr Root-Laufwerk nicht "c" heißt, tauschen Sie es einfach mit dem Namen Ihres Laufwerks aus. Versuchen Sie es zuerst mit Backslashes, wenn das nicht funktioniert, versuchen Sie den Schrägstrich. Wenn auch diese nicht funktionieren, vergewissern Sie sich, dass Sie den vollständigen Dateipfad und die Erweiterung .sql im Dateinamen haben, und wenn Ihre Version auf Semikolons besteht, vergewissern Sie sich, dass diese vorhanden sind, und versuchen Sie es erneut.

1voto

Xab Ion Punkte 541

Wenn Sie hier auf der Suche nach einem DRUPAL-UMGEBUNG

Sie können mit dem Befehl drush in Ihrem Projektverzeichnis ausführen

drush sqlc

0voto

user3753416 Punkte 1

Ich hatte diesen Fehler und versuchte alle Ratschläge, die ich bekommen konnte, ohne Erfolg.

Schließlich war das Problem, dass mein Ordner ein Leerzeichen im Ordnernamen hatte, das als Schrägstrich im Ordnerpfad auftauchte. Nachdem ich es gefunden und entfernt hatte, funktionierte es gut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X