小編給大家分享一下mysql實現清空緩存的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
mysql清空緩存的方法:使用FLUSH句法來清除緩存,為了執行FLUSH,必須有reload權限,語法為【FLUSH flush_option [,flush_option]】。
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 LOGS
、FLUSH MASTER
、FLUSH SLAVE
、FLUSH TABLES WITH READ LOCK
不會記錄,因此上述操作如果記錄在二進制日志文件中話,會對從數據庫造成影響。
注意:Reset操作其實扮演的是一個Flush操作的增強版的角色。
看完了這篇文章,相信你對mysql實現清空緩存的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。