如何清除mysql中的查询缓存?

如何清除mysql中的查询缓存?,mysql,sql,Mysql,Sql,我在root提示符下尝试了这一点,但没有帮助 mysql> RESET QUERY CACHE; 它表明 Query OK, 0 rows affected (0.00 sec) 但历史依然存在 如何清除或删除我键入的查询的历史记录。Mysql运行自己的shell。您可以通过删除从中读取历史的文件来删除此历史,该文件存储在~/.mysql\u history查询缓存和查询历史是不同的东西 查询缓存 MySql将执行的查询及其结果存储在数据库中,因此它可以在请求相同的查询时快速响应(缓存

我在root提示符下尝试了这一点,但没有帮助

mysql> RESET QUERY CACHE;
它表明

Query OK, 0 rows affected (0.00 sec)
但历史依然存在


如何清除或删除我键入的查询的历史记录。

Mysql运行自己的shell。您可以通过删除从中读取历史的文件来删除此历史,该文件存储在
~/.mysql\u history

查询缓存查询历史是不同的东西

查询缓存 MySql将执行的查询及其结果存储在数据库中,因此它可以在请求相同的查询时快速响应(缓存命中)。 运行或以清除查询缓存

命令历史文件 MySql将从它自己的shell执行的命令存储在一个数据库中。它位于您的主目录(Unix)下:
~/.mysql\u history
。删除此文件以清除迄今为止的历史记录(来自shell)

rm -rf ~/.mysql_history
ln -s /dev/null $HOME/.mysql_history
如果要完全禁用历史记录,请将历史记录文件创建为指向
/dev/null
(来自shell)的符号链接:

rm -rf ~/.mysql_history
ln -s /dev/null $HOME/.mysql_history

如果,事实上,我们正在回答如何清除“历史记录”(而不是缓存),而我们正在谈论的是“nix平台”。。。还有另一个重要的历史文件需要删除。即
/root/.mysql\u历史

当访问MariaDB(即,如果您不知道的话,使用MySQL fork)时,通常以
sudo
的形式启动它。在这种情况下,客户端输入历史记录将写入
/root…
,而不是主目录

如果出于安全目的希望清除mysql客户端和bash终端上的所有最近输入,请尝试执行以下操作:

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

我已经在CentOS和运行MySQL或MariaDB的Debian上成功地使用了它。

这是关于清除MySQL的历史记录还是查询缓存?这个问题模棱两可