sql >> Databáze >  >> RDS >> Mysql

MySQL – různé metody, jak poznat aktuálního uživatele

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ů.

  1. Přizpůsobený kód, který chceme spouštět na základě důvodu.
  2. Kontrola oprávnění na základě uživatele.
  3. Vložení jména uživatele do tabulky auditu.
  4. Zobrazení speciální zprávy na základě přihlášeného uživatele.
  5. 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ář.


  1. Jedinečné omezení Oracle a jedinečný index

  2. Použití názvů služeb Oracle s SQLAlchemy

  3. Problém s proměnnými vazby Oracle, které správně nepoužívají index

  4. Použít e-mailovou adresu jako primární klíč?