① mysql刷新命令
Flush命令:清除一些MySQL使用內部緩存
常見的刷新選項:HOSTS:清空主機緩存表
LOGS 關閉當前的二進制日誌文件並創建一個新文件
PRIVILEGES 每當重新賦權後,讓新許可權立即生效
TABLES 關閉所有打開的表,同時該操作將會清空查詢緩存中的內容
FLUSH TABLES WITH READ LOCK 關閉所有打開的表
STATUS 重置大多數狀態變數到0
QUERY CACHE 重整查詢緩存,消除其中的碎片,提高性能
② 如何清理MYSQL資料庫緩存
如果資料庫是安裝在你機器上的 那麼你可以暫時把MYSQL關閉 然後進入安裝目錄 找到data文件夾 這裡面就是放置資料庫文件的。。你會看到data裡面每一個文件夾都對應你一個資料庫名稱 把他們刪除就好了 就徹底沒了 不過可別把mysql這個文件夾刪了 還有別的文件 比如.err別亂刪哦。
如果這個你不會 或者說文件在使用刪除不了 那麼你就用mysql的可視化工具 比如mysql-front 5.1 進去刪除 效果都是一樣。
③ 如何清理MySQL 的查詢緩存
MySQL的FLUSH可以清理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,該操作常常用於數據備份的時候。解鎖的語句就是unlock tables。
FLUSH TABLES WITH READ LOCK對於資料庫是全局的表鎖定,如果只想鎖定幾個表,可以用LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} 。這個命令同樣需要unlock tables來解鎖。
read-lock: 允許其他並發的讀請求,但阻塞寫請求,即可以同時讀,但不允許任何寫。也叫共享鎖。write-lock: 不允許其他並發的讀和寫請求,是排他的(exclusive)。也叫獨占鎖
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不會記錄,因此上述操作如果記錄在二進制日誌文件中話,會對從資料庫造成影響。