网站首页 > 文章中心 > 其它

mysql缓存池怎么清理

作者:小编 更新时间:2023-09-06 16:58:05 浏览量:267人看过

如何清理MySQL 的查询缓存

MySQL的FLUSH可以清理mysql数据库缓存数据

MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果你想要清除一些MySQL使用内部缓存,你应该使用FLUSH命令.为了执行FLUSH,你必须有reload权限.

flush_option 可以是下列任何东西:

HOSTS 这个用的最多,经常碰见.主要是用来清空主机缓存表.如果你的某些主机改变IP数字,或如果你得到错误消息Host ... isblocked,你应该清空主机表.当在连接MySQL服务器时,对一台给定的主机有多于 max_connect_errors个错误连续不断地发生,MySQL为了安全的需要将会阻止该主机进一步的连接请求.清空主机表允许主机再尝试连接.

LOGS 关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1.

PRIVILEGES 这个也是经常使用的,每当重新赋权后,为了以防万一,让新权限立即生效,一般都执行一把,目地是从数据库授权表中重新装载权限到缓存中.

TABLES 关闭所有打开的表,同时该操作将会清空查询缓存中的内容.

FLUSH TABLES WITH READ LOCK 关闭所有打开的表,同时对于所有数据库中的表都加一个读锁,直到显示地执行unlock tables,该操作常常用于数据备份的时候.解锁的语句就是unlock tables.

FLUSH TABLES WITH READ LOCK对于数据库是全局的表锁定,如果只想锁定几个表,可以用LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} .这个命令同样需要unlock tables来解锁.

read-lock: 允许其他并发的读请求,但阻塞写请求,即可以同时读,但不允许任何写.也叫共享锁.write-lock: 不允许其他并发的读和写请求,是排他的(exclusive).也叫独占锁

STATUS 重置大多数状态变量到0.

MASTER 删除所有的二进制日志索引文件中的二进制日志文件,重置二进制日志文件的索引文件为空,创建一个新的二进制日志文件,不过这个已经不推荐使用,改成reset master 了.可以想象,以前自己是多土啊,本来一条简单的命令就可以搞定的,却要好几条命令来,以前的做法是先查出来当前的二进制日志文件名,再用purge 操作.

QUERY CACHE 重整查询缓存,消除其中的碎片,提高性能,但是并不影响查询缓存中现有的数据,这点和Flush table 和Reset Query Cache(将会清空查询缓存的内容)不一样的.

一般来讲,Flush操作都会记录在二进制日志文件中,但是FLUSH LOGS、FLUSH MASTER、FLUSH SLAVE、FLUSH TABLES WITH READ LOCK不会记录,所以呢上述操作如果记录在二进制日志文件中话,会对从数据库造成影响.

怎样清理mysql数据库的缓存

如果数据库是安装在你机器上的 那么你可以暂时把MYSQL关闭 然后进入安装目录 找到data文件夹 这里面就是放置数据库文件的..你会看到data里面每一个文件夹都对应你一个数据库名称 把他们删除就好了 就彻底没了 不过可别把mysql这个文件夹删了 还有别的文件 比如.err别乱删哦.

如何清理MYSQL数据库缓存

以上就是土嘎嘎小编为大家整理的mysql缓存池怎么清理相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章