清除 MySQL 查询缓存而不重新启动服务器

有没有办法不重新启动 mySQL 服务器就可以实现 安全 mySQL 查询缓存

276839 次浏览

根据 文件,这个应该可以..。

RESET QUERY CACHE

我相信你可以用..。

RESET QUERY CACHE;

... 如果您正在运行的用户具有重新加载权限。或者,您可以通过... 整理查询缓存。

FLUSH QUERY CACHE;

有关更多信息,请参见 MySQL 手册的 查询缓存状态和维护部分。

在我的系统(Ubuntu 12.04)中,我发现 RESET QUERY CACHE甚至重启 mysql 服务器都不够,这是由于 内存磁盘缓存
每次查询之后,我清理终端中的光盘缓存:

sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

然后重置 mysql 客户端中的查询缓存:

RESET QUERY CACHE;

对于任何其他人,比如我,寻找清除查询缓存并找到这个问题的方法,不推荐使用查询缓存

从 MySQL 5.7.20开始就不推荐使用查询缓存,并在 MySQL 8.0中删除了它。

因此,已经删除了命令 RESET QUERY CACHEFLUSH QUERY CACHE

有关更多信息,请查看数据库管理员的答案: 为什么 MySQL 在8.0版之后删除了查询缓存功能?