sql >> Base de Datos >  >> RDS >> Mysql

MySQL:diferentes métodos para conocer al usuario actual

Existen diferentes métodos para saber el nombre del usuario actual en MySQL. Puede haber muchas razones por las que queremos saber quién es el usuario actual. Aquí hay una lista de algunas de estas razones.

  1. Código personalizado que queremos ejecutar según el motivo.
  2. Comprobación de los permisos en función del usuario.
  3. Insertar el nombre del usuario en la tabla de auditoría.
  4. Mostrando un mensaje especial basado en el inicio de sesión del usuario.
  5. Ejecutar alguna lógica/código especial basado en el usuario conectado.

Método 1: Uso de las funciones del sistema

SELECT user();
SELECT current_user();

Ambas declaraciones SELECT anteriores devuelven el nombre del usuario actual, que ejecuta las declaraciones anteriores.

Método 2: Uso de la tabla del sistema

SELECT * from mysql.user;

Lo anterior enumera todos los usuarios registrados en el servidor. También enumerará varios niveles de privilegios para los usuarios.

Para obtener solo la información sobre el usuario actual, puede usar

SELECT * from mysql.user WHERE user() like concat(user,'%');

También puede usar funciones de sinónimos de usuario()

SELECT session_user();
SELECT system_user();

Ambos de arriba devolverán el resultado que también es el resultado de SELECT user().

Si está utilizando un inicio de sesión similar en su aplicación o negocio, me gustaría saber cuál es la necesidad empresarial para el mismo. Por favor, deja un comentario.