Chciałbym wiedzieć, czy istnieje sposób, aby zapytanie mysql zwróciło nazwę użytkownika, który wysyła zapytanie.
czy to możliwe?
Wypróbuj CURRENT_USER()
funkcję. Zwraca nazwę użytkownika, której MySQL użył do uwierzytelnienia połączenia klienta. To ta nazwa użytkownika określa Twoje uprawnienia.
Może się ona różnić od nazwy użytkownika wysłanej do MySQL przez klienta (na przykład MySQL może używać anonimowego konta do uwierzytelniania klienta, nawet jeśli wysłałeś nazwę użytkownika). Jeśli chcesz nazwę użytkownika, którą klient wysłał do MySQL podczas łączenia, użyj tej USER()
funkcji.
Wartość wskazuje nazwę użytkownika określoną podczas łączenia się z serwerem oraz hosta klienta, z którego nawiązano połączenie. Wartość może różnić się od wartości 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()
pytanie „Czy istnieje sposób na poznanie * Twojej * aktualnej nazwy użytkownika w mysql?” Nie jest poprawne . Odpowiedzią było „USER ()”, co oznacza „Zwraca aktualnego użytkownika MySQL” ( dev.mysql.com/doc/refman/5.7/en/… ). Powinieneś zaktualizować swoją odpowiedź, aby była bardziej kompletna, jest o wiele za krótka.Spróbuj też biec
SELECT USER();
lub
SELECT CURRENT_USER();
Czasami może być inaczej, USER () zwróci dane logowania, które próbujesz uwierzytelnić, a CURRENT_USER () zwróci informacje o tym, jak faktycznie pozwolono ci na uwierzytelnienie.
źródło
Użyj tego zapytania:
SELECT USER();
Lub
SELECT CURRENT_USER;
źródło
Możesz użyć:
SELECT USER();
lub
SELECT CURRENT_USER();
Zobacz więcej tutaj http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
źródło
wydrukować bieżącego użytkownika, który korzysta z bazy danych
select user();
lub
select current_user();
źródło
Możesz także użyć: 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 | +---------------+-------------------------------+
źródło
Możesz znaleźć aktualną nazwę użytkownika za pomocą funkcji CURRENT_USER () w MySQL.
dla Ex:
SELECT CURRENT_USER();
Ale
CURRENT_USER()
nie zawsze zwraca zalogowanego użytkownika. Więc jeśli chcesz mieć zalogowanego użytkownika, użyjSESSION_USER()
zamiast tego.źródło