Privilege USAGE v mysql jednoduše znamená, že pro uživatele 'phpadmin'@'localhost' nejsou definována žádná oprávnění na globální úrovni *.*
. Kromě toho má stejný uživatel oprávnění ALL na databázi phpmyadmin phpadmin.*
.
Pokud tedy chcete odebrat všechna oprávnění a začít úplně od nuly, proveďte následující:
-
Odebrat všechna oprávnění na úrovni databáze:
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';
-
Odstraňte uživatele 'phpmyadmin'@'localhost'
DROP USER 'phpmyadmin'@'localhost';
Výše uvedený postup zcela odstraní uživatele z vaší instance, to znamená, že jej můžete znovu vytvořit od nuly.
Abychom vám poskytli trochu pozadí toho, co je popsáno výše:jakmile vytvoříte uživatele mysql.user
tabulka bude vyplněna. Pokud se v něm podíváte na záznam, uvidíte uživatele a všechna oprávnění nastavená na 'N'
. Pokud show grants for 'phpmyadmin'@'localhost';
uvidíte, již známý, výstup výše. Jednoduše přeloženo jako „žádná oprávnění na globální úrovni pro uživatele“. Nyní váš grant ALL
tomuto uživateli na úrovni databáze, bude to uloženo v tabulce mysql.db
. Pokud provedete SELECT * FROM mysql.db WHERE db = 'nameofdb';
uvidíte 'Y'
na každém priv.
Výše popsaný ukazuje scénář, který máte v současné době ve vaší databázi. Tedy mít uživatele, který má pouze USAGE
oprávnění znamená, že tento uživatel se může připojit, ale kromě SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS;
nemá žádná jiná privilegia.