MySQL gir tillatelser ( rettigheter ) basert på nivået på drift av brukeren. Administrative privilegier administrere driften av serveren. Databasetillatelsene er spesifikke for databaser og objekter med i dem . Objekt Rettighetene gjelder tabeller , indekser , synspunkter og lagrede rutiner i databasen. Disse rettighetene er gitt til en bruker med GRANT -kommandoen og tilbakekalles med tilbakekalle kommandoen. Privilegiene
MySQL Reference håndboken, har en komplett liste over tilgjengelige privilegier. Noen av de mer vanlige privilegier er : en
ALL privilegium gir en bruker hele settet med rettigheter tilgjengelig på et gitt privilegium nivå . På globalt nivå , har brukeren komplett sett av tilgjengelige rettighetene . Ved bordet nivå , har brukeren bare tabellnivå privilegier.
CREATE privilegium tillater brukeren å opprette nye databaser og tabeller .
DROP privilegium tillater brukeren å fjerne eksisterende databaser og tabellene .
EXECUTE privilegium lar brukeren utføre lagrede rutiner .
INSERT privilegium lar brukeren sette inn poster eller data i en tabell .
SELECT privilegium tillater brukeren å bruke SELECT-setningen for å hente data fra tabeller .
SHOW dATABASE privilegium tillater brukeren å se databasen navn med SHOW dATABASE uttalelse.
stansen privilegium lar brukeren shutdown databasen med " mysqladmin shutdown" kommandoen.
GRANT Command
å bruke GRANT -kommandoen , må du ha rettighetene du vil gi til en annen bruker og må ha GRANT OPTION privilegium. En typisk GRANT utsagn er : en
gi alle rettigheter PÅ * * TO 'bruker' @ '%' WITH GRANT OPTION ;
Denne uttalelsen sier å gi " alle privilegier " på globalt nivå . til brukeren " mysql " på alle verter med " GRANT OPTION . "
p Hvis du vil at brukeren skal kun ha privilegier i en enkelt database , vil du bruke "database . *" syntaks , der " database "er navnet på databasen . For eksempel: .
GRANT SELECT , INSERT på database * TO 'bruker' @ ' hostname ';
å gi bare bord privilegier , angir tabellen med " database.table " syntaks, for eksempel : en
GRANT ALL ON database.table TO 'bruker' @ ' hostname ';
The tilbakekalle kommandoen
likhet med GRANT -kommandoen, må du ha de rettighetene du ønsker å tilbakekalle fra brukeren sammen med GRANT OPTION privilegium. Å tilbakekalle alle privilegier fra en bruker syntaksen ville være : en
tilbakekalle alle privilegier , GRANT OPTION FROM ' bruker';
Andre tilbakekalle uttalelser har samme syntaks som GRANT uttalelse. For eksempel vil fjerne av SETT privilegier på en database for en bruker , vil uttalelsen være : en
tilbakekalle SETT PÅ database * FROM ' bruker';
Du kan sjekke at rettighetene har vært. innvilget eller tilbakekalles riktig med "VIS TILSKUDD tIL ' bruker'; " . uttalelse