FLUSH
Syntax
FLUSH [NO_WRITE_TO_BINLOG | LOCAL]
flush_option [, flush_option] ...
or when flushing tables:
FLUSH [NO_WRITE_TO_BINLOG | LOCAL] TABLES [table_list] [table_flush_option]
where table_list is a list of tables separated by ,
Description
The FLUSH statement clears or reloads various internal caches used by
MariaDB. To execute FLUSH, you must have the RELOAD
privilege. See GRANT.
The RESET statement is similar to FLUSH. See
RESET.
You cannot issue a FLUSH statement from within a stored function or a trigger. Doing so within a stored procedure is permitted, as long as it is not called by a stored function or trigger. See Stored Routine Limitations, Stored Function Limitations and Trigger Limitations.
By default, FLUSH statements are written to the binary log and will be replicated. The NO_WRITE_TO_BINLOG keyword (LOCAL is an alias) will ensure the statement is not written to the binary log.
The different flush options are:
| Option | Description | |||||
|---|---|---|---|---|---|---|
CLIENT_STATISTICS | Reset client statistics (see 'show client_statistics'). | |||||
DES_KEY_FILE | Reloads the DES key file (Specified with the --des-key-file startup option). | |||||
HOSTS | Flush the hostname cache (used for converting ip to host names and for unblocking blocked hosts. See max_connect_errors) | |||||
INDEX_STATISTICS | Reset index statistics (see 'show index_statistics'). | |||||
[ERROR | ENGINE | GENERAL | SLOW | BINARY | RELAY] LOGS## | Close and reopen the specified log type, or all log types if none are specified. |
MASTER | Deprecated option, use RESET MASTER instead. | |||||
PRIVILEGES | Reload all privileges from the privilege tables in the 'mysql' database. | |||||
QUERY CACHE | Defragment the query cache to better utilize its memory. If you want to reset the query cache, you can do it with RESET QUERY CACHE. | |||||
QUERY_RESPONSE_TIME | See the QUERY_RESPONSE_TIME plugin. | |||||
SLAVE | Deprecated option, use RESET SLAVE instead. | |||||
STATUS | Resets all status variables that can be reset to 0 | |||||
TABLE | Close table given as options or all open tables if no table list was used. | |||||
TABLES | Same as FLUSH TABLE. | |||||
TABLES ... FOR EXPORT | For InnoDB tables, flushes table changes to disk to permit binary table copies while the server is running. Introduced in MariaDB 10.0.8. See FLUSH TABLES ... FOR EXPORT for more. | |||||
TABLES WITH READ LOCK | Closes all open tables. New tables are only allowed to be opened with read locks until an UNLOCK TABLES is given. | |||||
TABLES WITH READ LOCK AND DISABLE CHECKPOINT | As TABLES WITH READ LOCK but also disable all checkpoint writes by transactional table engines. This is useful when doing a disk snapshot of all tables. | |||||
TABLE_STATISTICS | Reset table statistics (see 'show table_statistics'). | |||||
USER_RESOURCES | Resets all per hour user resources. This enables clients that have exhausted their resources to connect again. | |||||
USER_STATISTICS | Reset user statistics (see 'show user_statistics'). |
You can also use the mysqladmin client to flush things. Use mysqladmin --help to examine what flush commands it supports.
Example
To flush some of the global caches that take up memory, you can do:
FLUSH LOCAL HOSTS, QUERY CACHE, TABLE_STATISTICS, INDEX_STATISTICS, USER_STATISTICS