Я хотел бы знать, есть ли способ для запроса mysql вернуть имя пользователя, отправившего запрос.
Это возможно?
Попробуйте CURRENT_USER()
функцию. Это возвращает имя пользователя, которое MySQL использовал для аутентификации вашего клиентского соединения. Именно это имя пользователя определяет ваши привилегии.
Это может отличаться от имени пользователя, которое было отправлено MySQL клиентом (например, MySQL может использовать анонимную учетную запись для аутентификации вашего клиента, даже если вы отправили имя пользователя). Если вам нужно имя пользователя, которое клиент отправил в MySQL при подключении, используйте USER()
вместо этого функцию.
Значение указывает имя пользователя, которое вы указали при подключении к серверу, и клиентский хост, с которого вы подключились. Значение может отличаться от 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()
не ответил на вопрос «Есть ли способ узнать * ваше * текущее имя пользователя в mysql?». Ответ был «USER ()», который «возвращает текущего пользователя MySQL» ( dev.mysql.com/doc/refman/5.7/en/… ). Вам следует обновить свой ответ, чтобы он был более полным, он слишком короткий.Попробуйте запустить либо
SELECT USER();
или
SELECT CURRENT_USER();
Иногда это может быть иначе, USER () вернет, какой логин вы пытались аутентифицировать, а CURRENT_USER () вернет, как вам фактически разрешили аутентифицироваться.
источник
Используйте этот запрос:
SELECT USER();
Или
SELECT CURRENT_USER;
источник
Ты можешь использовать:
SELECT USER();
или
SELECT CURRENT_USER();
Подробнее см. Http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
источник
для печати текущего пользователя, который использует базу данных
select user();
или
select current_user();
источник
Вы также можете использовать: 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 | +---------------+-------------------------------+
источник
Вы можете найти текущее имя пользователя с помощью функции CURRENT_USER () в MySQL.
для Ex:
SELECT CURRENT_USER();
Но
CURRENT_USER()
не всегда вернет авторизованного пользователя. Поэтому, если вы хотите, чтобы пользователь вошел в систему, используйтеSESSION_USER()
вместо этого.источник