Existují různé metody, jak zjistit jméno aktuálního uživatele v MySQL. Důvodů, proč chceme vědět, kdo je aktuální uživatel, může být mnoho. Zde je seznam několika málo takových důvodů.
- Přizpůsobený kód, který chceme spouštět na základě důvodu.
- Kontrola oprávnění na základě uživatele.
- Vložení jména uživatele do tabulky auditu.
- Zobrazení speciální zprávy na základě přihlášeného uživatele.
- Spuštění nějaké speciální logiky/kódu na základě přihlášeného uživatele.
Metoda 1: Využití systémových funkcí
SELECT user(); SELECT current_user();
Oba výše uvedené příkazy SELECT vracejí jméno aktuálního uživatele, který provádí výše uvedené příkazy.
Metoda 2: Použití systémové tabulky
SELECT * from mysql.user;
Výše uvedený seznam všech uživatelů registrovaných na serveru. Zobrazí také různé úrovně oprávnění pro uživatele.
Chcete-li získat pouze informace o aktuálním uživateli, můžete použít
SELECT * from mysql.user WHERE user() like concat(user,'%');
Můžete také použít synonymní funkce user()
SELECT session_user(); SELECT system_user();
Obě výše uvedené vrátí výsledek, který je také výsledkem SELECT user().
Pokud ve své aplikaci nebo podnikání používáte podobné přihlašovací údaje, rád bych věděl, jaké obchodní potřeby je potřebují. Zanechte prosím komentář.