Rumah  >  Artikel  >  pangkalan data  >  mysql如何清空缓存

mysql如何清空缓存

coldplay.xixi
coldplay.xixiasal
2020-09-11 16:05:466654semak imbas

mysql清空缓存的方法:使用FLUSH句法来清除缓存,为了执行FLUSH,必须有reload权限,语法为【FLUSH flush_option [,flush_option]】。

mysql如何清空缓存

相关学习推荐:mysql教程

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,该操作常常用于数据备份的时候。

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

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

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

  • SLAVE        类似于重置复制吧,让从数据库忘记主数据库的复制位置,同时也会删除已经下载下来的relay log,与Master一样,已经不推荐使用,改成Reset Slave了。这个也很有用的。

  一般来讲,Flush操作都会记录在二进制日志文件中,但是FLUSH LOGSFLUSH MASTERFLUSH SLAVEFLUSH TABLES WITH READ LOCK不会记录,因此上述操作如果记录在二进制日志文件中话,会对从数据库造成影响。

注意:Reset操作其实扮演的是一个Flush操作的增强版的角色。

想了解更多编程学习,敬请关注php培训栏目!

Atas ialah kandungan terperinci mysql如何清空缓存. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:如何将mysql默认编码改为UTF8Artikel seterusnya:mysql如何建立约束