Som du sagde, i MySQL USAGE
er synonymt med "ingen privilegier". Fra MySQL Reference Manual
:
USAGE
er en måde at fortælle MySQL, at der eksisterer en konto uden at give den konto nogen reelle privilegier. De har blot tilladelse til at bruge MySQL-serveren, deraf USAGE
. Det svarer til en række i `mysql`.`user`
tabel uden privilegier sat.
IDENTIFIED BY
klausul angiver, at en adgangskode er indstillet til den pågældende bruger. Hvordan ved vi, at en bruger er den, de siger, de er? De identificerer sig selv ved at sende den korrekte adgangskode til deres konto.
En brugers adgangskode er en af de kontoattributter på globalt niveau, der ikke er knyttet til en bestemt database eller tabel. Den lever også i `mysql`.`user`
bord. Hvis brugeren ikke har andre rettigheder ON *.*
, de tildeles USAGE ON *.*
og deres password-hash vises der. Dette er ofte en bivirkning af en CREATE USER
udmelding. Når en bruger oprettes på den måde, har de i første omgang ingen privilegier, så de tildeles blot USAGE
.