首頁 >資料庫 >mysql教程 >mysql如何清空快取

mysql如何清空快取

coldplay.xixi
coldplay.xixi原創
2020-09-11 16:05:466696瀏覽

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 SLAVE FLUSH TABLES WITH READ LOCK不會記錄,因此上述操作如果記錄在二進位日誌檔案中話,會對從資料庫造成影響。

注意:Reset操作其實扮演的是一個Flush操作的增強版的角色。

想了解更多程式設計學習,請關注

php培訓欄位!

#

以上是mysql如何清空快取的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多