Я хотів би знати, чи є спосіб для запиту mysql повернути ім’я користувача того, хто видає запит.
Чи можливо це?
Я хотів би знати, чи є спосіб для запиту 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();
Більше див. Тут http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
для друку поточного користувача, який використовує базу даних
select user();
або
select current_user();
Ви також можете використовувати: mysql> вибрати користувача, хоста з 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.
для напр .:
SELECT CURRENT_USER();
Але CURRENT_USER()не завжди повертає зареєстрованого користувача. Тож, якщо ви хочете, щоб зареєстрований користувач увійшов, тоді використовуйте SESSION_USER()замість цього.