Syntax:
FLUSH [NO_WRITE_TO_BINLOG | LOCAL] {
    flush_option [, flush_option] ...
  | tables_option
}

flush_option: {
    BINARY LOGS
  | DES_KEY_FILE
  | ENGINE LOGS
  | ERROR LOGS
  | GENERAL LOGS
  | HOSTS
  | LOGS
  | PRIVILEGES
  | OPTIMIZER_COSTS
  | QUERY CACHE
  | RELAY LOGS [FOR CHANNEL channel]
  | SLOW LOGS
  | STATUS
  | USER_RESOURCES
}

tables_option: {
    TABLES
  | TABLES tbl_name [, tbl_name] ...
  | TABLES WITH READ LOCK
  | TABLES tbl_name [, tbl_name] ... WITH READ LOCK
  | TABLES tbl_name [, tbl_name] ... FOR EXPORT
}

The FLUSH statement has several variant forms that clear or reload
various internal caches, flush tables, or acquire locks. To execute
FLUSH, you must have the RELOAD privilege. Specific flush options might
require additional privileges, as indicated in the option descriptions.

*Note*:

It is not possible to issue FLUSH statements within stored functions or
triggers. However, you may use FLUSH in stored procedures, so long as
these are not called from stored functions or triggers. See
https://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html
.

By default, the server writes FLUSH statements to the binary log so
that they replicate to replicas. To suppress logging, specify the
optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.

*Note*:

FLUSH LOGS, FLUSH BINARY LOGS, FLUSH TABLES WITH READ LOCK (with or
without a table list), and FLUSH TABLES tbl_name ... FOR EXPORT are not
written to the binary log in any case because they would cause problems
if replicated to a replica.

The FLUSH statement causes an implicit commit. See
https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.

The mysqladmin utility provides a command-line interface to some flush
operations, using commands such as flush-hosts, flush-logs,
flush-privileges, flush-status, and flush-tables. See
https://dev.mysql.com/doc/refman/5.7/en/mysqladmin.html.

Sending a SIGHUP signal to the server causes several flush operations
to occur that are similar to various forms of the FLUSH statement.
Signals can be sent by the root system account or the system account
that owns the server process. This enables the flush operations to be
performed without having to connect to the server, which requires a
MySQL account that has privileges sufficient for those operations. See
https://dev.mysql.com/doc/refman/5.7/en/unix-signal-response.html.

The RESET statement is similar to FLUSH. See [HELP RESET], for
information about using RESET with replication.

URL: https://dev.mysql.com/doc/refman/5.7/en/flush.html

