Clear mysql command line history stored in ~/.mysql_history file
Q. How do I clear the mysql command line history stored in ~/.mysql_history file?
A. mysql is a simple SQL shell. It supports interactive and non-interactive use.
On Unix and Linux, the mysql client writes a record of executed statements to a history file. By default, the history file is named .mysql_history and is created in your home directory. To specify a different file, set the value of the MYSQL_HISTFILE environment variable.
Task: CLEAR MYSQL COMMAND LINE HISTORY
Remove ~/.mysql_history by typing following command:
$ > ~/.mysql_history
If you do not want to maintain a history file, first remove .mysql_history if it exists, and then use either of the following techniques:
Set the MYSQL_HISTFILE variable to /dev/null. To cause this setting to take effect each time you log in, put the setting in one of your shell’s startup files.
Create ~/.mysql_history as a symbolic link to /dev/null. You need run following command only once:
$ rm $HOME/.mysql_history
$ ln -s /dev/null $HOME/.mysql_history
Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
Related Other Helpful FAQs:
- Linux / UNIX: Clear bash history
- Clear Linux / UNIX BASH Shell Command Line Cache / History
- How do I access MySQL server from the shell prompt (command line)?
- Linux and UNIX view command-line history
- How To Search Shell Command History
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!



June 8th, 2007 at 7:36 am
Setting MYSQL_HISTFILE to /dev/null is not such a good idea as mysql tries to creates the file on startup. Thus it replaces /dev/null by a regular file accessible only by root - not something you want to do on your server system!
In case you already tried and hosed your /dev/null, the following command will restore it:
mknod -m 666 /dev/null c 1 3charon
June 8th, 2007 at 6:40 pm
charon,
This a sym link, so it will not remove /dev/null and you should never use root account to connect to mysql as root. You can do that from normal user too..
Appreciate your comment.
June 9th, 2007 at 7:01 pm
nixcraft,
if you set the environment variable MYSQL_HISTFILE to /dev/null, there is no symlink but the file is accessed directly. If you create the symlink, you don’t run into the troubles I described. Of course you’re right, you should never ever work as root, but… you know…
charon