Есть ли whoami
-подобная функция в mysql?mysql: whoami?
Я подключаюсь к командной строке mysql с удаленного хоста. Я не уверен, разрешает ли мой ip-адрес доменное имя или нет. Я хотел бы увидеть что-то вроде
mysql> whoami;
+----------------------------------+
| User | Host |
+----------------------------------+
| username | resolved.hostname.com |
+----------------------------------+
1 row in set (0.00 sec)
или
mysql> whoami;
+------------------------+
| User | Host |
+------------------------+
| username | 22.66.88.44 |
+------------------------+
1 row in set (0.00 sec)
Хороший улов, и вы, конечно, правы. Ответ обновляется. –
Когда пользователь 'USER' будет отличаться от' CURRENT_USER'? Похоже, что если бы они были разными, вам пришлось бы иметь неудачную аутентификацию, которая в этом случае, как бы вы выдали команду в первую очередь? – user151841
В ответе есть несколько случаев, задокументированных руководством MySQL. Вы можете пройти аутентификацию как анонимный пользователь, хотя вы указали пользователя, и в этом случае 'USER()' вернет то, что вы аутентифицировали, поскольку 'CURRENT_USER()' будет возвращать анонимную учетную запись (т. Е. Пустое имя пользователя). Кроме того, в хранимых процедурах 'CURRENT_USER()' возвращает пользователя, который создал SP, или invoker, если он определен с помощью функции SQL SECURITY INVOKER. В триггерах и событиях 'CURRENT_USER()' всегда возвращает пользователя, создавшего объект. –