天天看點

MySQL的FLUSH句法

MySQL的FLUSH句法  

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 操作。