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.