sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor oprettes en GRANT USAGE første gang, jeg giver en bruger rettigheder?

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 .



  1. Database - Design af en begivenhedstabel

  2. Datotype uden tid i Oracle

  3. Meget langsom sletning på mysql base med underforespørgsel

  4. Sådan ombrydes lange tekstlinjer i SQLite-resultater