AMD
AMD

Reputation: 1511

How to clear query cache in mysql?

I tried this at root prompt but didnt help.

mysql> RESET QUERY CACHE;

IT showed

Query OK, 0 rows affected (0.00 sec)

But history is still there.

How do I clear or delete history for queries that i typed.

Upvotes: 27

Views: 65605

Answers (4)

strangecosmo
strangecosmo

Reputation: 1

I would be cautios with rm with recursive option, I've been always warned to think twice before using -r

Why just don't use

rm ~/.mysql_history

Upvotes: 0

BuvinJ
BuvinJ

Reputation: 11056

If, in fact, we are answering how to clear the "history" (not the cache), and we're talking about a 'nix platform... there is another important history file to delete potentially. I.e. /root/.mysql_history.

When accessing MariaDB (i.e. a MySQL fork if you were not aware), it's typical to launch it as sudo. In which which case your client input history is written to /root... instead of your home directory.

If you want to clear all recent input on BOTH the mysql client and the bash terminal for security purposes, try executing the following:

rm -rf ~/.mysql_history
sudo rm -rf /root/.mysql_history
history -cw
clear

I've used that successfully on CentOS and Debian running MySQL or MariaDB.

Upvotes: 3

mmdemirbas
mmdemirbas

Reputation: 9158

Query cache and query history are different things.

Query Cache

MySql stores executed queries with their results in a query cache, so it can quickly respond when the same query requested (cache hit). Run RESET QUERY CACHE or FLUSH TABLES to clear query cache.

Command History File

MySql stores commands executed from its own shell in a history file. It is located under your home directory (Unix): ~/.mysql_history. Remove this file to clear history up to now (from shell):

rm -rf ~/.mysql_history

If you want to disable history completely, create the history file as a symlink to /dev/null (from shell):

ln -s /dev/null $HOME/.mysql_history

Upvotes: 41

Uku Loskit
Uku Loskit

Reputation: 42040

Mysql runs its own shell. You can delete this history by deleting the file that the history is read from, which is stored in ~/.mysql_history

Upvotes: 7

Related Questions