Ora vedremo come gestire il controllo degli accessi poichè nella gestione del server questo argomento è di fondamentale importanza.
Di seguito trovate la struttura completa delle tabelle USER e DB che sono quelle principalmente utilizzate:
DESCRIBE USER
I permessi che ci interessano sono solo quelli che abbiamo già studiato nel capitolo relativo a GRANT e REVOKE, gli altri che vedete (Es. ssl_type, ssl_cipher ecc...) sono permessi che non vengono praticamente mai associati ad altri utenti se non all'amministratore (root) e quindi di fatto li possiamo ignorare.
Come sempre si può fare riferimento al manuale ufficiale di mySQL che li descrive in modo molto dettagliato.
SICUREZZA
Per la sicurezza del proprio sistema database è fondamentale non dare MAI permessi globali (validi per tutti i database presenti sul server) ad un utente, ma assegnargli i giusti privilegi dalla tabella DB.
APPROFONDIMENTO
Analizzando bene tutte le tabelle del DB mySQL con il comando show tables; e describe table; possiamo notare come in mySQL si possa assegnare permessi precisi e limitativi utilizzando anche le tabelle “tables_priv” e “columns_priv”.
In sostanza è sufficiente negare tutti i permessi ad un utente e dargli permessi solo sulle singole tabelle o addirittura alle colonne. Sinceramente capita molto raramente di doversi avvalere di queste features di sicurezza.