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?
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?
Respostas:
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.
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
para imprimir o usuário atual que está usando o banco de dados
select user();
ou
select current_user();
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 |
+---------------+-------------------------------+
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, use SESSION_USER().