FLUSH
FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [,flush_option] ...
Se puede usar el comando FLUSH si se desea limpiar algo del caché interno usado por MySQL. Para poder ejecutar FLUSH, se debe poseer el privilegio RELOAD.
El valor de flush_option puede ser uno de los siguientes:
Opción | Descripcion |
---|---|
HOSTS | Vacía el caché de tablas del host. Se pueden vaciar en disco las tablas del host si cambia de número IP o si se obtienen mensajes de error del tipo 'Host ... is blocked'. Cuando ocurren más de max_connect_errors errores en una fila para un host dado durante la conexión a un servidor MySQL, éste asume que algo anda mal y bloquea el host subsiguientes peticiones de conexión. Vaciar en disco las tablas del host le permite intentar conectar de nuevo. Se puede iniciar mysqld con -O max_connect_errors=999999999 para evitar la aparición de este mensaje de error. |
DES_KEY_FILE | Recarga las claves DES desde el fichero que se especificó con la opción --des-key-file durante el arranque del servidor. |
LOGS | Cierra y reabre todos los ficheros de diario. Se se ha especificado un fichero de diario de actualización o un fichero de diario binario sin extensión, el número de extensión del fichero de diario será incrementado en una unidad con respecto al fichero anterior. Si se usa una extensión en el nombre de fichero, MySQL cerrará y reabrirá el fichero de diario de actualizaciones. Es lo mismo que enviar la señal SIGHUP al servidor mysqld. |
PRIVILEGES | Recarga los privilegios desde las tablas de concesiones en la base de datos 'mysql'. |
QUERY CACHE | Desfragmenta el caché de consulta para mejorar la utilización de su memoria. Este comando no eliminará ninguna consulta del caché, al contrario que RESET QUERY CACHE. |
TABLES | Cierra todas las tablas abiertas y fuerza que todas las tablas en uso sean cerradas. Esto también vacía el caché de consultas. |
[TABLE | TABLES] tbl_name [,tbl_name...] | Vacía en disco sólo las tablas dadas. |
TABLES WITH READ LOCK | Cierra todas las tablas abiertas y bloquea todas las tablas para todas las bases de datos con un bloqueo de lectura hasta que se ejecute UNLOCK TABLES. Esto proporciona una forma muy conveniente para hacer copias de seguridad si se posee un sistema de ficheros, como Veritas, que puede tomar instantáneas. |
STATUS | Asigna a la mayoría de las variables de estado el valor cero. Esto es algo que que sólo se debe hacer cuando se depura una consulta. |
USER_RESOURCES | Asigna todos los recursos del usuario a cero. Esto permitirá bloquear usuarios para que entren de nuevo. |
Antes de MySQL 4.1.1, los comandos FLUSH no actualizaban el diario binario. Desde MySQL 4.1.1 lo hacen salvo que se use la palabra clave NO_WRITE_TO_BINLOG (o su alias LOCAL), o salvo que el comando contenga uno de estos argumentos: LOGS, MASTER, SLAVE, TABLES WITH READ LOCK, porque cualquiera de esos argumentos puede causar problemas si es preplicado a un esclavo.
También se puede acceder a algunos de los comandos mostrados arriba con la utilidad mysqladmin, usando flush-hosts, flush-logs, flush-privileges, flush-status o flush-tables.
Se recomienda echar un vistazo al comando RESET usado con replicación.