在MySQL中,FLUSH TABLES
命令的作用是刷新表。当你使用 FLUSH TABLES
命令的具体选项时(例如 FLUSH TABLES WITH READ LOCK
),该选项必须是在 FLUSH
语句中唯一指定的命令。即,在一个 FLUSH
语句中,你只能使用单一的 FLUSH TABLES
选项。此外,FLUSH TABLE
是 FLUSH TABLES
等价的。
注意: 对于描述中提到的刷新操作,InnoDB引擎的行为与其他存储引擎不同。在InnoDB下,执行刷新操作会将表的内容写入磁盘,但表本身仍然保持打开状态。因此,即使表处于打开状态,只要没有其他写入操作发生,也可以复制表文件。
FLUSH TABLES 命令的使用:
-
FLUSH TABLES: 此命令关闭所有已打开的表,强制所有正在使用的表关闭,并清空预处理语句缓存。该操作需要用户拥有
FLUSH_TABLES
或RELOAD
权限。如果存在活跃的LOCK TABLES ... READ
,则不允许使用FLUSH TABLES
。若需刷新表并加上读锁,则应使用FLUSH TABLES tbl_name ... WITH READ LOCK
替代。 -
FLUSH TABLES tbl_name [, tbl_name] ...: 通过列出一个或多个逗号分隔的表名&#