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