MySQL fornisce i permessi (privilegi ) in base al livello di funzionamento degli utenti. Privilegi amministrativi gestiscono il funzionamento del server . Privilegi di database sono specifici per i database e gli oggetti con in loro. Privilegi sugli oggetti consentono di tabelle , indici, viste e routine memorizzate all'interno del database . Questi privilegi sono dati a un utente con il comando GRANT e revocati con il comando REVOKE . I privilegi
Il manuale di riferimento MySQL ha un elenco completo dei privilegi disponibili . Alcuni dei privilegi più comuni sono:
ALL privilegio concede a un utente l'intero set di privilegi disponibili ad un dato livello di privilegio . A livello globale , l'utente ha il set completo di privilegi disponibili . A livello di tabella , l'utente ha solo i privilegi a livello di tabella .
Il privilegio CREATE permette all'utente di creare nuovi database e tabelle .
Il privilegio GOCCIA permette all'utente di rimuovere i database esistenti e tavoli .
ESEGUI privilegio consente a un utente di eseguire le routine memorizzati.
il privilegio INSERT permette all'utente di inserire i record o dati in una tabella .
il privilegio SELECT permette all'utente di utilizzare l'istruzione SELECT per recuperare dati da tabelle .
il privilegio database show permette all'utente di vedere i nomi dei database con l'istruzione CREATE DATABASE SHOW.
il privilegio SHUTDOWN permette all'utente di arrestare il database con il comando " mysqladmin shutdown" .
il comando GRANT
per utilizzare il comando GRANT , è necessario disporre dei privilegi che si vogliono passare ad un altro utente e deve avere il privilegio GRANT OPTION . Una tipica dichiarazione GRANT è :
grant all privileges on * * TO ' utente' @ '%' WITH GRANT OPTION ;
Questa dichiarazione dice di dare " TUTTI I PRIVILEGI " a livello globale . per l'utente " mysql ", a tutti gli host con la "GRANT OPTION ".
Se si desidera che l'utente di avere solo privilegi su un unico database , si utilizzerà la "banca dati * . " sintassi , dove " banca dati "è il nome del database . Per esempio : .
GRANT SELECT, INSERT sulla base di dati * TO ' utente' @ ' hostname ';
Per concedere i privilegi di tabella solo , specificare la tabella con la sintassi " database.table " , come ad esempio:
GRANT ALL ON database.table TO ' utente' @ ' hostname ';
il REVOCARE comando
come il comando GRANT , è necessario disporre dei privilegi che si desidera revocare dall'utente con il privilegio GRANT OPTION . Per revocare tutti i privilegi di un utente la sintassi sarebbe:
revocargli tutti i privilegi , GRANT OPTION FROM ' utente';
Altre dichiarazioni REVOCA hanno la stessa sintassi del comando GRANT . Ad esempio, per rimuovere i privilegi INSERT su un database per un utente , la dichiarazione sarebbe:
REVOCARE inserimento sul database * FROM ' utente';
Si può verificare che i privilegi sono stati. concesso o revocato correttamente con i " MOSTRA BORSE PER ' utente'; " . dichiarazione