Zoals je al zei, in MySQL USAGE
is synoniem met "geen privileges". Uit de MySQL-referentiehandleiding
:
USAGE
is een manier om MySQL te vertellen dat een account bestaat zonder echte privileges aan die account te verlenen. Ze hebben alleen toestemming om gebruiken de MySQL-server, vandaar USAGE
. Het komt overeen met een rij in de `mysql`.`user`
tafel zonder ingestelde privileges.
De IDENTIFIED BY
clausule geeft aan dat er een wachtwoord is ingesteld voor die gebruiker. Hoe weten we of een gebruiker is wie hij zegt dat hij is? Ze identificeren zichzelf door het juiste wachtwoord voor hun account te verzenden.
Het wachtwoord van een gebruiker is een van die accountkenmerken op globaal niveau die niet aan een specifieke database of tabel zijn gekoppeld. Het leeft ook in de `mysql`.`user`
tafel. Als de gebruiker geen andere rechten heeft ON *.*
, ze krijgen USAGE ON *.*
en hun wachtwoordhash wordt daar weergegeven. Dit is vaak een bijwerking van een CREATE USER
uitspraak. Wanneer een gebruiker op die manier wordt aangemaakt, heeft deze in eerste instantie geen privileges, dus wordt hem slechts USAGE
verleend .