W bazie danych Oracle, polecenie "host" może być użyte do uruchomienia polecenia bash z okna poleceń bazy danych. Czy istnieje odpowiednik polecenia "host" w mySql?Wykonać polecenie powłoki z poziomu klienta MySQL?
Odpowiedz
Można użyć polecenia system
.
polecenie systemowe, \! polecenie
Wykonuje podane polecenie za pomocą domyślnego interpretera poleceń .
Polecenie systemowe działa tylko w systemie Unix.
Przykład:
system ls -l
To rzeczywiście możliwe do wykonania poleceń powłoki na serwerze, który Mysqld jest uruchomiony mimo połączenia klienta (zamiast poleceń wykonywanych na komputerze klienckim lokalnie) za pomocą MySQL Proxy (w dół do sekcji "Polecenia powłoki z klienta MySQL").
w maszynie Linux powinien być w stanie kliknąć na poniższy przykład
- ! wyczyść - aby wyczyścić ekran
- ! ls - do listy plików w bieżącym katalogu roboczym
- Zasadniczo powinieneś być w stanie uruchomić dowolne polecenie lub skrypt przy użyciu tego składnię
NB: dodaj ukośnik przed powrotem!
Nie odpowiada to na pytanie, w jaki sposób wywołać skrypt SQL z podpowiedzi MySQL, a nie Linuksa. – codeforester
Używam wersji 5.0.95-log w systemie Linux. Kończąc polecenie komendą "system" lub "!" działa dla poleceń "pwd" i "ls -l". Jeśli spróbuję zmienić katalog przy użyciu np.
mysql> System cd/home/mydir
polecenie wydaje się być akceptowane. Ale najwyraźniej nic nie robi, ponieważ następujące polecenia "pwd" i "ls -l" wskazują, że nadal znajduję się w tym samym katalogu. Wygląda więc na to, że w tym celu wbudowano kod ograniczonej funkcjonalności, ale w rzeczywistości nie mamy pełnego dostępu do powłoki systemu.
Myślę, że to niekoniecznie jest skrót, ale istnieje osobna powłoka na każdym wystąpieniu polecenia 'system'. więc gdybyś mógł je jakoś połączyć ... –
Jako dodatkowy dostrojenia, w większości systemów „" nix”rzeczywiście można zrobić coś takiego:
mysql> system bash
i mieć cały zacisk do Państwa dyspozycji. Jest to szczególnie skuteczne, jeśli wykonujesz pracę kodu w terminalu, który łączy się z MySQL; z powłoki, wpisanie "exit" przeniesie Cię z powrotem do monitora/klienta MySQL, dzięki czemu możesz łatwo wrócić i wrócić.
Oczywiście, działają również inne powłoki ("system mysql> tcsh").
Oczywiście działa to tylko w kliencie wiersza poleceń MySQL. Nie z samego serwera bazy danych. –
Przepraszam, że nie działa w Windows –