Gostaria de saber se existe uma maneira de uma consulta mysql retornar o nome de usuário do usuário que emite a consulta.
Isso é possível?
Experimente a CURRENT_USER()
função. Isso retorna o nome de usuário que o MySQL usou para autenticar sua conexão de cliente. É esse nome de usuário que determina seus privilégios.
Isso pode ser diferente do nome de usuário enviado ao MySQL pelo cliente (por exemplo, o MySQL pode usar uma conta anônima para autenticar seu cliente, mesmo que você tenha enviado um nome de usuário). Se você quiser o nome de usuário que o cliente enviou ao MySQL ao se conectar, use a USER()
função.
O valor indica o nome de usuário que você especificou ao se conectar ao servidor e o host do cliente do qual você se conectou. O valor pode ser diferente de CURRENT_USER ().
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_USER()' at line 1
CURRENT_USER()
não acertou para a pergunta "Existe uma maneira de saber * seu * nome de usuário atual no mysql?". A resposta foi "USER ()", que "Retorna o usuário MySQL atual" ( dev.mysql.com/doc/refman/5.7/en/… ). Você deve atualizar sua resposta para ser mais completa, é muito curta.Tente correr também
SELECT USER();
ou
SELECT CURRENT_USER();
Às vezes pode ser diferente, USER () retornará pelo login que você tentou autenticar e CURRENT_USER () retornará como você realmente teve permissão para autenticar.
fonte
Use esta consulta:
SELECT USER();
Ou
SELECT CURRENT_USER;
fonte
Você pode usar:
SELECT USER();
ou
SELECT CURRENT_USER();
Veja mais aqui http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
fonte
para imprimir o usuário atual que está usando o banco de dados
select user();
ou
select current_user();
fonte
Você também pode usar: mysql> select user, host from mysql.user;
+---------------+-------------------------------+ | user | host | +---------------+-------------------------------+ | fkernel | % | | nagios | % | | readonly | % | | replicant | % | | reporting | % | | reporting_ro | % | | nagios | xx.xx.xx.xx | | haproxy_root | xx.xx.xx.xx | root | 127.0.0.1 | | nagios | localhost | | root | localhost | +---------------+-------------------------------+
fonte
Você pode encontrar o nome de usuário atual com a função CURRENT_USER () no MySQL.
para Ex:
SELECT CURRENT_USER();
Mas
CURRENT_USER()
nem sempre retornará o usuário conectado. Portanto, caso você queira ter o usuário conectado, useSESSION_USER()
.fonte