MySQL的FLUSH句法

來源:互聯網
上載者:User

今天仔細看了下Flush文法,同時在工作中也經常使用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 操作。

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操作的增強版的角色。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.