MySQL Flush Privilegios

MySQL Flush Privilegios
Para mantener segura la base de datos, los permisos específicos se establecen para usuarios específicos, llamados privilegios del usuario. El usuario root tiene todos los privilegios, y el usuario root puede otorgar o revocar cualquier permiso del usuario. El permiso para diferentes tipos de operaciones de bases de datos, como insertar, actualizar, eliminar, seleccionar y crear, se puede establecer para el usuario otorgando el permiso y eliminado revocando el permiso. Después de otorgar permisos particulares para el usuario, hay dos formas de hacer que los cambios sean efectivos. Una forma es reiniciar el servidor de la base de datos, y otra forma es usar el comando de privilegios de descarga. Los usos del comando MySQL Flush Privileges se han mostrado en este tutorial.

Efectos del uso de privilegios de descarga:

  • El permiso recientemente otorgado para el usuario se activará después de ejecutar el comando de privilegios de descarga, y el usuario podrá acceder a los nuevos privilegios.
  • Si la base de datos actual se cambia a la nueva, entonces todos los permisos recién otorgados se verán afectados para el comando de privilegios de descarga.
  • Los cambios en la base de datos relacionados con la configuración global y la contraseña del usuario no se ven afectados por el comando de privilegios de descarga.
  • El efecto de los cambios en la base de datos no será visible después de ejecutar el comando de privilegios de descarga si la base de datos está en caché. Debe establecer la base de datos actual con otra base de datos y cambiar nuevamente a la base de datos anterior.

Sintaxis:

La sintaxis del comando de privilegios de descarga se da a continuación. Después de ejecutar el siguiente comando, la tabla de subvención se volverá a cargar en la memoria.

Privilegios de descarga;

Usos de los privilegios de descarga de MySQL:

Debe crear un nuevo usuario de MySQL para conocer los usos del comando de privilegios de descarga.

Conecte con el servidor MySQL:

Abra el terminal y conéctese con el servidor MySQL ejecutando el siguiente comando.

$ sudo mysql -u root

Crear un nuevo usuario:

Ejecute el siguiente comando para crear un nuevo usuario con el nombre de usuario ','fahmida'y la contraseña'secreto.'

Crear el usuario 'fahmida'@'localhost' identificado por 'secreto';

Cuando se crea un nuevo usuario en MySQL, los permisos predeterminados se establecen para los nuevos usuarios. El usuario La tabla de la base de datos MySQL contiene los datos relacionados con el permiso de todos los usuarios. Ejecute el siguiente comando para verificar el permiso para el usuario recién creado ','fahmida.'

Seleccionar * de mysql.usuario donde user = "fahmida" \ g;

El comando anterior generará una larga lista de información. Alguna parte de la salida se ha mostrado en la siguiente imagen. La salida muestra que no se otorgan permisos para el usuario 'fahmida' por defecto.

Actualizar el permiso del usuario:

El permiso específico para cualquier usuario se puede otorgar utilizando la consulta de actualización o utilizando el comando de subvención. Si el permiso se cambia utilizando la consulta de actualización, se requiere el comando de privilegio de descarga para que el cambio sea efectivo. Si el permiso se cambia utilizando el comando de subvención, entonces no se requiere que el comando de privilegio de descarga se use para que el cambio sea efectivo.

Ejecute la siguiente consulta de actualización para establecer el permiso de selección para el usuario ','fahmida ' Para todas las tablas de todas las bases de datos.

Actualizar mysql.user set select_priv = "y" donde user = "fahmida";

Para que la operación de actualización sea efectiva, debe ejecutar el comando FLUSH privilege.

Privilegios de descarga;

Vuelva a ejecutar el siguiente comando después de configurar el permiso Seleccionar para el usuario ','fahmida.'

Seleccionar * de mysql.usuario donde user = "fahmida" \ g;

Producción:

La siguiente salida muestra que se ha otorgado privilegio de selección al usuario.

Ejecute el siguiente comando de subvención para establecer los permisos Insertar y Eliminar para el usuario ','fahmida.' No necesita usar el comando de privilegios de descarga para este comando.

Grant Insertar, eliminar *.* A fahmida@'localhost';

Ejecute el siguiente comando Seleccionar nuevamente después de configurar los permisos Insertar y Eliminar para el usuario ','fahmida.'

Seleccionar * de mysql.usuario donde user = "fahmida" \ g;

Producción:

La siguiente salida muestra que se han otorgado privilegios de inserción y eliminación al usuario.

Cambiar la contraseña del usuario:

Existen muchos comandos en MySQL para cambiar la contraseña del usuario. Establecer, alterar y actualizar declaraciones. Se requerirá que el comando FLUSH privilege se use si la contraseña se cambia utilizando la consulta de actualización, y no se requerirá el comando de privilegio de flush si la contraseña se cambia o modifica los comandos. Los usos de las declaraciones de alter y actualización se han mostrado aquí.

Ejecute el siguiente comando para verificar el valor del autenticación_string valor antes de cambiar la contraseña.

Seleccione Authentication_String de MySQL.usuario donde usuarios = "fahmida";

Producción:

La siguiente salida muestra el autenticación_string valor para la contraseña, 'secreto.'

Ejecute el siguiente comando ALTER para cambiar la contraseña para el usuario ','fahmida.'

Alterar el usuario 'fahmida'@'localhost' identificado por 'Secret2';

No necesita usar el comando de privilegios de descarga para activar la contraseña cambiada por la declaración alter. Ejecute el siguiente comando para verificar el autenticación_string valor después de cambiar la contraseña.

Seleccione Authentication_String de MySQL.usuario donde usuarios = "fahmida";

Producción:

La siguiente salida muestra la nueva autenticación_string valor después de cambiar la contraseña.

Ejecute la siguiente declaración de actualización para establecer la contraseña nula utilizando autenticación_string para el usuario 'fahmida.'

Actualizar mysql.User Set Authentication_String = NULL WHERE USER = "Fahmida";

Se requiere que el comando de privilegios de descarga se use aquí para que el cambio sea efectivo para la declaración de actualización.

Privilegios de descarga;

Ejecute el siguiente comando para verificar el autenticación_string valor después de cambiar la contraseña.

Seleccione Authentication_String de MySQL.usuario donde usuarios = "fahmida";

Producción:

La siguiente salida muestra la nueva autenticación_string valor después de cambiar la contraseña.

Conclusión:

Los usos del comando de privilegios de descarga después de otorgar privilegios y cambiar la contraseña para el usuario se han mostrado en este tutorial creando una nueva cuenta de usuario. Usar el comando de privilegio de descarga se borrará después de leer este tutorial.