- 論壇徽章:
- 3
|
Flush語句,用于清除或重新加載各種高速緩存、表或者獲取鎖等。執(zhí)行flush語句必須要有reload權限。
語法:
FLUSH [NO_WRITE_TO_BINLOG | LOCAL]
flush_option [, flush_option] ...
執(zhí)行flush命令會默認寫入二進制日志,以便能夠把該操作的狀態(tài)同步到Slave,如果不想寫入二進制日志,則加上NO_WRITE_TO_BINLOG或其別名LOCAL參數(shù)。
注:FLUSH LOGS、FLUSH TABLES WITH READ LOCK (with or without a table list)、FLUSH TABLES tbl_name ... FOR EXPORT在任何情況下都不會寫入到二進制日志,因為如果這些命令同步到Slave可能會導致一些問題。
flush_option:
DES_KEY_FILE:重新加載下次MySQL啟動時的DES加密值。
HOSTS:清空主機名緩存。如果某個主機名IP地址換了或者出現(xiàn)以下錯誤信息
Host 'host_name' is blocked
就要執(zhí)行flush hosts;命令來清空主機緩存。
如果一個連接請求的次數(shù)超過 max_connect_errors參數(shù)所指定的值,那么MySQL就會禁止該連接,執(zhí)行flush hosts;命令來清空主機緩存即可。max_connect_errors默認的值是10.
[log_type] LOGS:
如果不指定log_type,則flush logs;默認關閉并重新加載二進制日志,生成一個新的二進制文件,并在原來的二進制日志名字編號的基礎上加1,來重新命名新的二進制文件。
如果不指定logs_type參數(shù),則默認關閉并重載所有日志,log_type參數(shù):
BINARY:關閉并重新打開二進制日志文件;
ENGINE:關閉并重新打開任何可以刷新的有關存儲引擎的日志。flush engine;命令會使InnoDB把日志寫入磁盤;
ERROR:關閉并重新打開錯誤日志;
GENERAL:關閉并重新打開通用查詢日志;
RELAY:關閉并重新打開relay log;
SLOW:關閉并重新打開慢查詢日志。
注:
在MySQL 5.1以前刷新日志的話,如果定義了log-error參數(shù),則會把現(xiàn)有的錯誤日志關閉并創(chuàng)建一個新的錯誤日志,就的以.old結尾命名。
log_type選項是在MySQL 5.5.3才有的。
PRIVILEGES:刷新mysql庫的權限表(users表)。
QUERY CACHE:整理查詢緩存以便更好的記憶它,flush query cache;不會清空查詢緩存,只有flush tables或者reset query cahche;命令才會清空緩存。
STATUS:把當前會話的參數(shù)值增加為全局參數(shù),并把當前會話的參數(shù)值置為0。一些全局參數(shù)也可能會被置為0。也會把鍵緩存計數(shù)器置為0并把max_used_connections的值置為當前打開的連接數(shù)的值。這個參數(shù)只有在調試SQL語句的時候用。
TABLES:刷新表,后面跟的參數(shù)待討論...
USER_RESOURCES:把所有的用戶一小時允許的資源值置為0。這個命令給所有達到各自會話資源上限的會話重新分配資源。 FLUSH USER_RESOURCES這個命令不會刷新最大連接上限數(shù)。
flush tables|table命令會關閉所有的表,并清空所有查詢緩存。reset query cache也是清空緩存的。在MySQL 5.6,如果有一張表被加了讀鎖(lock tables ... read),則不能使用flush tables命令,只能使用flush tables table_name ... with read lock;
flush tables table_name [,table_name] ...
關閉指定的表并清空指定表的緩存,如果該表不存在不會報錯。
FLUSH TABLES WITH READ LOCK
FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK
FLUSH TABLES tbl_name [, tbl_name] ... FOR EXPORT
While any of these statements is in effect within the session, attempts to use FLUSH TABLES ... FOR EXPORT produce an error:
FLUSH TABLES ... WITH READ LOCK
FLUSH TABLES ... FOR EXPORT
LOCK TABLES ... READ
LOCK TABLES ... WRITE
While FLUSH TABLES ... FOR EXPORT is in effect within the session, attempts to use any of these statements produce an error:
FLUSH TABLES WITH READ LOCK
FLUSH TABLES ... WITH READ LOCK
FLUSH TABLES ... FOR EXPORT
更多精彩MySQL學習資源,盡在我贏職場!
api.png (8.52 KB, 下載次數(shù): 132)
下載附件
2015-06-15 14:11 上傳
|
|