mysql flush 使用

FLUSH語法

FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [, flush_option] ...

若是您想要清除MySQL使用的部份內部緩存,您應該使用FLUSH語句。要執行FLUSH,您必須擁有RELOAD權限。mysql

 

flush_option

HOSTSsql

用於清空主機緩存表。若是有的主機更改了IP號或若是您獲得了錯誤信息Host host_name is blocked,則您應該刷新主機表。當在鏈接到MySQL服務器時,若是對於一個給定的主機,接連出現錯誤「多於max_connect_errors」,此時,MySQL會假定出現了錯誤,並阻止主機後續的鏈接申請。刷新主機表容許主機嘗試再次鏈接。請參見A.2.5節,「主機的host_name被屏蔽」。您可使用max_connect_errors=999999999啓動mysqld,以免此錯誤信息。數據庫

DES_KEY_FILE緩存

用於在服務器啓動時,從採用--des-key-file選項指定的文件從新載入DES關鍵字。服務器

LOGSide

用於關閉並從新打開全部的日誌文件。若是您已經指定了一個更新日誌文件或一個二進制日誌文件,同時沒有擴展,則相對於前一個文件,日誌文件的擴展號增長1。若是您在文件名稱中使用了一個擴展,則MySQL會關閉並從新打開日誌文件。在Unix中,當相mysqld服務器發送一個SIGHUP信號時,也會如此(例外狀況是部分Mac OS X 10.3版本。在這些版本中,mysqld忽略SIGHUP和SIGQUIT)。spa

若是服務器使用--log-error選項,則FLUSH LOGS會致使錯誤日誌被重命名(使用後綴-old),同時mysqld會建立一個新的空日誌文件。若是沒有給定--log-error選項,則不會進行重命名。調試

PRIVILEGES日誌

用於從mysql數據庫中的受權表從新載入權限。orm

QUERY CACHE

對查詢緩存進行整理碎片,以更好得利用存儲器。與RESET QUERY CACHE不一樣,本語句不會從緩存中取消任何查詢。

STATUS

用於把多數狀態變量從新設置爲零。只在當調試查詢時,您才應該使用此項。請參見1.7.1.3節,「如何通報缺陷和問題」。

{TABLE | TABLES} [tbl_name [, tbl_name] ...]

當沒有表被命名時,關閉全部打開的表,並迫使全部正在使用的表關閉。這也會刷新查詢緩存。此項含有一個或多個表名稱,只刷新給定的表。和RESET QUERY CACHE語句同樣,FLUSH TABLES還會取消來自查詢緩存的全部查詢結果。

TABLES WITH READ LOCK

對於全部帶讀取鎖定的數據庫,關閉全部打開的表,並鎖定全部的表,直到您執行UNLOCK TABLES爲止。若是您擁有一個能夠及時進行快照的文件系統,好比Veritas,則這是進行備份的很是方便的方法。

USER_RESOURCES

用於把全部每小時用戶資源從新設置爲零。這可使已經達到了每小時鏈接、查詢或更新限值的客戶端馬上從新恢復活性。FLUSH USER_RESOURCES不適用於同時鏈接的最大限值。請參見13.5.1.3節,「GRANT和REVOKE語法」。

FLUSH語句被寫入二進制日誌,除非使用了自選的NO_WRITE_TO_BINLOG關鍵字(或其別名LOCAL)。 註釋:在任何狀況下,FLUSH LOGS, FLUSH MASTER, FLUSH SLAVE和FLUSH TABLES WITH READ LOCK都不會被記入日誌,由於若是它們被複制到一個從屬服務器上,會致使出現問題。

您也可使用flush-hosts, flush-logs, flush-privileges, flush-status或flush-tables命令訪問含有mysqladmin應用程序的語句。

相關文章
相關標籤/搜索