Shell-Kommando von einem MySQL-Client aus ausführen?

8

In Oracle-Datenbanken kann der Befehl "host" verwendet werden, um den bash-Befehl vom Datenbankbefehlsfenster aus auszuführen. Gibt es einen entsprechenden Befehl als "Host" in mySql?

    
Progress Programmer 30.05.2009, 08:33
quelle

5 Antworten

12

Sie können den Befehl system verwenden.

  

Systembefehl, \! Befehl

     

Führt den angegebenen Befehl mit Ihrem aus   Standard-Befehlsinterpreter.

     

Der Systembefehl funktioniert nur in Unix.

Beispiel:

%Vor%     
Ayman Hourieh 30.05.2009, 08:41
quelle
2

Ich führe die Version 5.0.95 aus - Linux anmelden. Den Befehl entweder durch "System" oder durch "!" funktioniert für die Befehle "pwd" und "ls -l". Wenn ich versuche, das Verzeichnis mit z. B.

zu ändern

mysql & gt; System cd / home / mydir

Der Befehl scheint akzeptiert zu sein. Aber das tut anscheinend nichts, da die folgenden Befehle "pwd" und "ls -l" anzeigen, dass ich immer noch im selben Verzeichnis bin. Es sieht also so aus, als ob ein Stub von eingeschränkter Funktionalität eingebaut wäre, aber wir haben nicht wirklich vollen Zugriff auf die System-Shell.

    
Rory Larson 19.02.2014 15:57
quelle
1

Es ist tatsächlich möglich, Shell-Befehle auf dem Server auszuführen, den mysqld über eine Client-Verbindung ausführt (anstatt Befehle lokal auf dem Client auszuführen), indem Sie MySQL-Proxy (scrollen Sie zum Abschnitt" Shell-Befehle vom MySQL-Client ").

    
ʞɔıu 31.05.2009 02:29
quelle
0

Als zusätzliche Optimierung können Sie auf den meisten "nix" -Systemen tatsächlich folgendes tun:

%Vor%

Und das gesamte Terminal steht Ihnen zur Verfügung. Dies ist besonders effektiv, wenn Sie im Terminal Code arbeiten, der mit MySQL verbunden ist. Von der Shell aus führt die Eingabe von "exit" zurück zum MySQL-Monitor / Client, so dass Sie ganz einfach hin und her gehen können.

Offensichtlich funktionieren auch andere Shells ("mysql & gt; system tcsh").

    
Kevin_Kinsey 27.07.2016 13:47
quelle
-1

In einem Linux-Rechner sollten Sie das folgende Beispiel verwenden können

  1. ! clear - um den Bildschirm zu löschen
  2. ! ls - um Dateien im aktuellen Arbeitsverzeichnis aufzulisten
  3. Grundsätzlich sollte es möglich sein, einen Befehl oder ein Skript mit dieser Syntax auszuführen

Hinweis: Fügen Sie einen umgekehrten Schrägstrich vor!

    
chege 02.07.2013 14:43
quelle

Tags und Links