MySQL Flush Command

In this post, I will explain FLUSH command of mysql. We discuss different forms of FLUSH command.

As per English dictionary FLUSH means ” Wash Out “. Many times FLUSH are required reloading and clear 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:


You just execute FLUSH HOSTS command into your query editor and this will FLUSH cache of Hosts. Whenever you change IP-Address and if got any error related to Hosts then you should execute this command.



This command used close and reopen all log files. This action has no effect on tables and also manage its internal sequence number for new logs.



When you insert new user into ” mysql.user ” table at that time you should execute FLUSH PRIVILEGES to reload all changes related to user accounts and privileges. Otherwise, you have to restart MySQL Services.



MySQL QUERY CACHE is one of important of aspect of query optimization. FLUSH is required periodically on QUERY CACHE for better performance and effective utilization of memory.

This command does not remove any running query from the cache.



MySQL server has many global variable and counters. All running sessions have also different type of statuses. Your index and other key also stored different counter and status. This command used to FLUSH all different types of Statuses. During your query debugging, you can use this command for actual count and status of requiring indexes.



This 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.

Anvesh Patel

Leave a Reply

Be the First to Comment!

Notify of