Nel database Oracle, il comando "host" può essere utilizzato per eseguire il comando bash dalla finestra di comando del database. Esiste un comando equivalente come "host" in mySql?Esegui il comando shell da un client MySQL?
risposta
È possibile utilizzare il comando system
.
comando di sistema, \! comando
Esegue il comando dato utilizzando l'interprete di comandi predefinito .
Il comando di sistema funziona solo in Unix.
Esempio:
system ls -l
In realtà è possibile eseguire comandi shell sul server che mysqld è in esecuzione anche se una connessione client (invece di eseguire comandi sulla macchina client locale) utilizzando MySQL Proxy (scorrere verso il basso alla sezione "Comandi della shell dal client MySQL").
In una macchina Linux si dovrebbe essere in grado di utilizzare il seguente esempio
- ! clear - per cancellare lo schermo
- ! ls - per elencare i file nella directory di lavoro corrente
- In sostanza si dovrebbe essere in grado di eseguire qualsiasi comando o script utilizzando la sintassi che
NB: Aggiungere una barra rovesciata prima!
Questo non risponde alla domanda, che riguarda come richiamare uno script SQL dal prompt di MySQL, non dalla riga di comando di Linux. – codeforester
Sto eseguendo la versione 5.0.95-log su Linux. Prefazione del comando tramite "sistema" o "!" funziona per i comandi "pwd" e "ls -l". Se provo a cambiare directory usando, ad es.
mysql> sistema cd/home/mydir
il comando sembra essere accettato. Ma questo a quanto pare non fa nulla, poiché i comandi "pwd" e "ls -l" indicano che sono ancora nella stessa directory. Quindi sembra che ci sia uno stub di funzionalità limitato integrato per questo, ma che in realtà non abbiamo pieno accesso alla shell di sistema.
Penso che questo non sia necessariamente uno stub, ma c'è una shell separata su ogni istanza di comando 'system'. quindi se potessi incatenarli in qualche modo ... –
Come Tweak aggiuntivo, sulla maggior parte dei sistemi "'nix" in realtà si può fare qualcosa di simile:
mysql> system bash
E avere l'intero terminale a vostra disposizione. Questo è particolarmente efficace se si sta facendo il lavoro di codice nel terminale che si interfaccia con MySQL; dalla shell, digitando "exit" tornerai nel monitor/client MySQL, così puoi andare avanti e indietro abbastanza facilmente.
Ovviamente, altre shell ("mysql> system tcsh") funzionerebbero altrettanto bene.
- 1. Esegui comando vim da riga di comando
- 2. Esegui il comando shell con i reindirizzamenti di input da python 2.4?
- 3. Esegui un singolo comando nello script di shell senza sudo
- 4. Come eliminare il database mysql tramite il comando shell
- 5. esegue il comando shell da java
- 6. Shell script: Esegui comando dopo l'esecuzione di "uscita" comando nella shell script
- 7. Esecuzione di un comando shell da gulp
- 8. Eseguire un comando shell da un'applicazione .NET
- 9. Esegui un comando di sistema come sudo da R?
- 10. Esegui comando esterno
- 11. Esegui comando Drush da uno script PHP
- 12. Esegui comando da riga di comando da NSIS
- 13. esegui il comando bash nella nuova shell e resta nella nuova shell dopo che questo comando è stato eseguito
- 14. Esegui il comando mysql dall'host al contenitore su cui è in esecuzione il server mysql
- 15. Java esegui il programma da riga di comando
- 16. Esegui riga di comando e comando da VBS
- 17. Esegui comando dopo la creazione del Webpack
- 18. Esegui un comando colorato da uno script php
- 19. Esecuzione di un comando shell
- 20. Esegui script shell in Gradle
- 21. Apri il terminale dalla shell ed esegui i comandi
- 22. Desidero richiamare un comando di shell linux da Java
- 23. Esegui comando ogni secondo
- 24. Esegui il comando in emacs, ottieni l'output nel buffer cliccabile
- 25. shell linux: come leggere l'argomento del comando da un file?
- 26. Eseguire un comando shell da uno script di shell senza fermarsi, se si verifica un errore
- 27. python subprocess set shell var. e poi esegui il comando: come?
- 28. Trova i file ed esegui il comando
- 29. Esegui riga di comando e restituire l'output del comando
- 30. Output dell'ultimo comando shell
Naturalmente questo funziona solo nel client della riga di comando MySQL. Non dal server del database stesso. –
scusa se non funziona in Windows –