Heim >Datenbank >MySQL-Tutorial >Wie führe ich MySQL-Befehle aus Shell-Skripten korrekt aus?

Wie führe ich MySQL-Befehle aus Shell-Skripten korrekt aus?

Susan Sarandon
Susan SarandonOriginal
2024-11-27 17:33:11888Durchsuche

How to Correctly Execute MySQL Commands from Shell Scripts?

Ausführen von MySQL-Befehlen über Shell-Skripte

Die Automatisierung der SQL-Befehlsausführung über Shell-Skripte vereinfacht Datenverwaltungsaufgaben. Ein häufiger Anwendungsfall ist die Wiederherstellung von Daten aus einer SQL-Datei, die eine Verbindung zu einem Remote-Server erfordert.

Problem:

Versuch, einen SQL-Befehl über ein Shell-Skript auszuführen Die Verwendung des Befehls:

mysql -h "server-name" -u root "password" "database-name" < "filename.sql"

führt zu einem Fehler.

Lösung:

Der Fehler ist wahrscheinlich auf eine falsche Angabe des Passworts zurückzuführen. Um das Problem zu beheben, verwenden Sie das Flag -p ohne Leerzeichen zwischen ihm und dem Passwort:

mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"

Zusätzliche Tipps:

  • Speichern des Benutzernamens und Passworts in ~/.my.cnf macht es überflüssig, sie in die Befehlszeile einzufügen.
  • Verwendung des Flags -x bei der Shell-Skriptausführung Mit dem Befehl können Sie überwachen, wie jeder Befehl ausgeführt wird, und so bei der Fehlerbehebung helfen.

Überarbeitetes Shell-Skript-Beispiel:

perl fb_apps_frm_fb.pl
perl fb_new_spider.pl ds_fbids.txt ds_fbids.sql
mysql -h dbservername -u username "-pXXXXXXXX" dbname < ds_fbids.sql

Das obige ist der detaillierte Inhalt vonWie führe ich MySQL-Befehle aus Shell-Skripten korrekt aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn