This article is half-done without your Comment! *** Please share your thoughts via Comment ***
In this post, I am sharing about the FLUSH command of MySQL.
As per English dictionary FLUSH means ” Wash Out “. Many times FLUSH is required for reloading and clearing internal caches.
MySQL stored different query, results, and session setting into cache.
MySQL database server writes a binary log for FLUSH statements.
The FLUSH statements is a default auto-committed action like other DDL commands.
Below are some important FLUSH command:
FLUSH HOSTS:
FLUSH HOSTS command will FLUSH cache of Hosts. Whenever you change IP-Address and if got any error related to Hosts, you should execute this command.
FLUSH LOGS:
FLUSH LOGS uses to close and reopen all log files. This action does not affect tables and also manage its internal sequence number for new logs.
FLUSH PRIVILEGES:
When you insert a new user into ” mysql.user ” table, you must execute FLUSH PRIVILEGES to reload all changes related to user accounts and privileges. Otherwise, you have to restart MySQL Service.
FLUSH QUERY CACHE:
MySQL QUERY CACHE is one of important of command for query optimization. FLUSH is required periodically on QUERY CACHE for better performance and efficient utilization of memory.
This command does not remove any running query from the cache.
FLUSH STATUS:
MySQL server has many global variable and counters. All the running sessions also have a different type of status.
Your index and other keys also stored separate counter and status. This command used to FLUSH all kinds of counters. During your query debugging, you can use this command for comparing the actual count with execution count.
FLUSH TABLES:
FLUSH TABLES will close all open tables and flush the query cache. This will also remove all query results from the cache.
FLUSH TABLES <table_name,table_name>:
You can FLUSH one or more table by specifying comma separated table name.