Има различни методи за узнаване на името на текущия потребител в MySQL. Може да има много причини, поради които искаме да знаем кой е настоящият потребител. Ето списък на малкото от тези причини.
- Персонализиран код, който искаме да изпълним въз основа на причината.
- Проверка на разрешенията въз основа на потребителя.
- Вмъкване на името на потребителя в таблицата за одит.
- Показване на специално съобщение въз основа на потребителя за влизане.
- Изпълнение на специална логика/код въз основа на влезлия потребител.
Метод 1: Използване на системни функции
SELECT user(); SELECT current_user();
И двата по-горе оператора SELECT връщат името на текущия потребител, който изпълнява горните оператори.
Метод 2: Използване на системна таблица
SELECT * from mysql.user;
По-горе са изброени всички потребители, регистрирани в сървъра. Той също така ще изброява различни нива на привилегии за потребителите.
За да получите само информацията за текущия потребител, можете да използвате
SELECT * from mysql.user WHERE user() like concat(user,'%');
Можете да използвате и синонимни функции на user()
SELECT session_user(); SELECT system_user();
И двете по-горе ще върнат резултата, който също е резултат от SELECT user().
Ако използвате подобно име за вход във вашето приложение или бизнес, бих искал да знам каква е нуждата на бизнеса от същото. Моля, оставете коментар.