mysql如何清空緩存

mysql清空緩存的方法:使用FLUSH句法來清除緩存,為了執(zhí)行FLUSH,必須有reload權(quán)限,語法為【FLUSH flush_option [,flush_option]】。

mysql如何清空緩存

相關(guān)學(xué)習(xí)推薦:mysql教程

mysql清空緩存的方法:

清除緩存

mysql的FLUSH句法(清除緩存)

FLUSH?flush_option?[,flush_option]

如果你想要清除一些MySQL使用內(nèi)部緩存,你應(yīng)該使用FLUSH命令。為了執(zhí)行FLUSH,你必須有reload權(quán)限。

flush_option可以是下列任何東西:

  • HOSTS? ? ? ?這個(gè)用的最多,經(jīng)常碰見。主要是用來清空主機(jī)緩存表。如果你的某些主機(jī)改變IP數(shù)字,或如果你得到錯(cuò)誤消息Host … isblocked,你應(yīng)該清空主機(jī)表。當(dāng)在連接MySQL服務(wù)器時(shí),對(duì)一臺(tái)給定的主機(jī)有多于 max_connect_errors個(gè)錯(cuò)誤連續(xù)不斷地發(fā)生,MySQL為了安全的需要將會(huì)阻止該主機(jī)進(jìn)一步的連接請(qǐng)求。清空主機(jī)表允許主機(jī)再嘗試連接。

  • LOGS? ? ? ? 關(guān)閉當(dāng)前的二進(jìn)制日志文件并創(chuàng)建一個(gè)新文件,新的二進(jìn)制日志文件的名字在當(dāng)前的二進(jìn)制文件的編號(hào)上加1。

  • PRIVILEGES? 這個(gè)也是經(jīng)常使用的,每當(dāng)重新賦權(quán)后,為了以防萬一,讓新權(quán)限立即生效,一般都執(zhí)行一把,目地是從數(shù)據(jù)庫授權(quán)表中重新裝載權(quán)限到緩存中。

  • tableS? ? ? ?關(guān)閉所有打開的表,同時(shí)該操作將會(huì)清空查詢緩存中的內(nèi)容。

  • FLUSH TABLES WITH READ LOCK? ?關(guān)閉所有打開的表,同時(shí)對(duì)于所有數(shù)據(jù)庫中的表都加一個(gè)讀鎖,直到顯示地執(zhí)行unlock tables,該操作常常用于數(shù)據(jù)備份的時(shí)候。

  • STATUS? ? ? ?重置大多數(shù)狀態(tài)變量到0。

  • MASTER? ? ? ? 刪除所有的二進(jìn)制日志索引文件中的二進(jìn)制日志文件,重置二進(jìn)制日志文件的索引文件為空,創(chuàng)建一個(gè)新的二進(jìn)制日志文件,不過這個(gè)已經(jīng)不推薦使用,改成reset master 了??梢韵胂?,以前自己是多土啊,本來一條簡(jiǎn)單的命令就可以搞定的,卻要好幾條命令來,以前的做法是先查出來當(dāng)前的二進(jìn)制日志文件名,再用purge 操作。

  • QUERY CACHE? ?重整查詢緩存,消除其中的碎片,提高性能,但是并不影響查詢緩存中現(xiàn)有的數(shù)據(jù),這點(diǎn)和Flush table 和Reset Query? Cache(將會(huì)清空查詢緩存的內(nèi)容)不一樣的。

  • SLAVE? ? ? ? 類似于重置復(fù)制吧,讓從數(shù)據(jù)庫忘記主數(shù)據(jù)庫的復(fù)制位置,同時(shí)也會(huì)刪除已經(jīng)下載下來的relay log,與Master一樣,已經(jīng)不推薦使用,改成Reset Slave了。這個(gè)也很有用的。

? 一般來講,F(xiàn)lush操作都會(huì)記錄在二進(jìn)制日志文件中,但是FLUSH LOGS、FLUSH MASTER、FLUSH SLAVE、FLUSH TABLES WITH READ LOCK不會(huì)記錄,因此上述操作如果記錄在二進(jìn)制日志文件中話,會(huì)對(duì)從數(shù)據(jù)庫造成影響。

注意:Reset操作其實(shí)扮演的是一個(gè)Flush操作的增強(qiáng)版的角色。

想了解更多編程學(xué)習(xí),敬請(qǐng)關(guān)注mysql教程欄目!

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享