In oracle database, command "host" can be used to run bash command from database command window. Is there a equivalent command as "host" in mySql?
6 Answers
You can use the system command.
system command, \! command
Executes the given command using your default command interpreter.
The system command works only in Unix.
Example:
system ls -l
2 Comments
As an additional tweak, on most "'nix" systems you can actually do something like this:
mysql> system bash
And have the entire terminal at your disposal. This is particularly effective if you're doing code work in the terminal that interfaces with MySQL; from the shell, typing "exit" will take you back into the MySQL monitor/client, so you can go back and forth quite easily.
Obviously, other shells ("mysql> system tcsh") would work as well.
Comments
It's actually possible to execute shell commands on the server that mysqld is running though a client connection (rather than executing commands on the client machine locally) by using MySQL Proxy (scroll down to the "Shell commands from MySQL client" section ).
Comments
I'm running version 5.0.95-log on Linux. Prefacing the command either by "system" or by "!" works for the "pwd" and the "ls -l" commands. If I try to change directory using, e.g.
mysql> system cd /home/mydir
the command seems to be accepted. But this apparently does nothing, as following "pwd" and "ls -l" commands indicate that I am still in the same directory. So it appears that there is a stub of limited functionality built in for this, but that we do not actually have full access to the system shell.
1 Comment
system command. so if you could chain them somehow ...In a linux machine you should be able to use the following example
- ! clear - to clear the screen
- ! ls - to list files in the current working directory
- Basically you should be able to run any command or script using that syntax
NB: Add a back slash before !
2 Comments
To execute SQL script from within the MySql prompt use source <script_namne>