MySQL ger behörigheter ( behörighet ) baserat på nivån på drift av användaren. Administratörsbehörighet sköta driften av servern . Databas privilegier är specifika för de databaser och objekt med i dem . Object privilegier gäller för tabeller , index , vyer och lagrade rutiner inom databasen . Dessa privilegier ges till en användare med GRANT kommandot och återkallas med REVOKE kommandot . Privilegier
MySQL Reference manual har en komplett lista över tillgängliga privilegier . Några av de vanligaste privilegier:
ALL privilegium beviljar en användare hela uppsättningen behörigheter vid en viss behörighetsnivå . På global nivå har användaren en komplett uppsättning privilegier tillgängliga . Vid bordet nivå , har användaren endast privilegier tabellen nivå .
CREATE privilegium tillåter användaren att skapa nya databaser och tabeller .
DROP privilegium tillåter användaren att ta bort befintliga databaser och tabeller .
EXECUTE privilegium tillåter en användare att exekvera lagrade rutiner .
INSERT privilegium tillåter användaren att infoga poster eller data i en tabell .
SELECT privilegium låter användaren att använda SELECT- sats för att hämta data från tabeller .
SHOW DATABASE privilegium tillåter användaren att se databasen namnen med showen DATABASE uttalande .
avstängningen privilegium tillåter användaren att avstängning databasen med " mysqladmin shutdown " -kommandot .
GRANT Command
använda det för kommandot , måste du ha de privilegier som du vill ge till en annan användare och måste ha GRANT OPTION privilegium . En typisk GRANT uttalande är :
ge alla privilegier för * * TO ' user ' @ ' % ' WITH GRANT OPTION ;
Detta uttalande säger att ge " alla behörigheter " på global nivå . till användaren " mysql " på alla värdar med " GRANT OPTION . "
p Om du vill att användaren endast ha behörighet till en enda databas , kommer du att använda " databasen . * " syntax , där " databas " är namnet på databasen . Till exempel : .
GRANT SELECT , INSERT på databasen * TO ' user ' @ ' hostname ' ,
att endast medge bord privilegier , ange i tabellen med " database.table " syntax , såsom :
GRANT ALL ON database.table TO ' user ' @ ' hostname ' ,
upphävandebehandlingen kommandot
Liksom GRANT kommando , måste du ha behörighet som du vill återkalla från användaren tillsammans med GRANT OPTION privilegium . Att återkalla alla behörigheter från en användare syntaxen skulle vara :
REVOKE alla behörigheter , GRANT OPTION FRÅN ' användare';
Andra återkalla uttalanden har samma syntax som GRANT uttalande . Till exempel , för att demontera insatsen privilegier på en databas för en användare , skulle uttalandet vara :
REVOKE insatsen på databasen * FROM ' användare';
Du kan kontrollera att behörighet har varit . beviljas eller återkallas korrekt med " VISA BIDRAG TILL " user " , " . uttalande