La protezione del database MySql

Quando si installa il database viene definita la password di root e da allora l'utente root con questa password e' abilitato a fare tutto. La gestione della protezione vera e propria e' fatta tramite il database predefinito mysql con le tre tabelle user,db,host. Lo schema piu' semplice di protezione potrebbe essere il seguente:
Ogni utente ha zero privilegi nella tabella user mentre viene associato al database che usa dandogli tutti i privilegi.
Per fare questo,il root, dopo aver creato il database Pippo dell'utente rossi provvede a inserire le seguenti 2 righe nelle tabelle db e user
(tabella user)
Host    User    Password        Select_priv     Insert_priv     Update_priv
Delete_priv     Create_priv     Drop_priv       Reload_priv     Shutdown_priv
Process_priv    File_priv       Grant_priv      References_priv Index_priv
Alter_priv
localhost       rossi    **********        N       N       N       N
N       N       N       N       N       N       N       N       N       N      
(tabella db)
Host    Db      User    Select_priv     Insert_priv     Update_priv     Delete_p
riv     Create_priv     Drop_priv       Grant_priv      References_priv Index_pr
iv      Alter_priv
%       Pippo   rossi    Y       Y       Y       Y       Y       Y       Y
Y       Y       Y 
Da notare che % indica qualsiasi computer, localhost il computer su cui si trova il data base e ********* e' la password crittata.
Le operazioni vanno fatte usando le istruzioni sql, per cui daremo i comandi :
mysql -e "insert into user values('localhost','rossi',PASSWORD('password'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N')" mysql
mysql -e "insert into db values('%','Pippo','rossi','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')" mysql
Dopo ricordarsi di usare il comando mysqladmin reload per rendere operative le modifiche.
INDIETRO a Web e Database
Maintained by Giuseppe Zito: Giuseppe.Zito@cern.ch.Last revised :