USAGE-privilegiet i mysql betyder simpelthen, at der ikke er nogen privilegier for brugeren 'phpadmin'@'localhost' defineret på globalt niveau *.*
. Derudover har den samme bruger ALL-privilegium på databasen phpmyadmin phpadmin.*
.
Så hvis du vil fjerne alle privilegier og starte helt fra bunden, skal du gøre følgende:
-
Tilbagekald alle privilegier på databaseniveau:
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';
-
Slip brugeren 'phpmyadmin'@'localhost'
DROP USER 'phpmyadmin'@'localhost';
Ovenstående procedure vil helt fjerne brugeren fra din instans, det betyder, at du kan genskabe ham fra bunden.
For at give dig lidt baggrund om det, der er beskrevet ovenfor:Så snart du opretter en bruger, er mysql.user
tabel vil blive udfyldt. Hvis du ser på en post i den, vil du se brugeren og alle privilegier sat til 'N'
. Hvis du laver en show grants for 'phpmyadmin'@'localhost';
du vil se, det allerede velkendte, output ovenfor. Simpelthen oversat til "ingen privilegier på globalt niveau for brugeren". Nu giver du ALL
til denne bruger på databaseniveau, vil dette blive gemt i tabellen mysql.db
. Hvis du laver en SELECT * FROM mysql.db WHERE db = 'nameofdb';
du vil se en 'Y'
på hvert priv.
Ovenstående beskrevet viser det scenarie du har på din db i øjeblikket. Altså at have en bruger, der kun har USAGE
privilegium betyder, at denne bruger kan oprette forbindelse, men udover SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS;
han har ingen andre privilegier.