Mi è capitato di dover creare un utente e un nuovo database su MySQL in una macchina dove non potevo collegarmi ne con qualche tool grafico esterno e nemmeno con phpMyAdmin. L’unica via è stata l’utilizzo della Shell di MySQL.
Ho dovuto per forza utilizzare la shell di MySQL, una cosa a cui avevo accesso su quella macchina.
Come usare la Shell di MySQL
Mi sono segnato i passi in modo da poterli usare con facilità anche in un futuro…spero servano anche a voi!!!
Inanzitutto entriamo in MySQL
mysql -u root -p
creiamo l’utente
create user ‘nomeutente’@’dominio’ identified by ‘password_in_chiaro’ ;
così creiamo l’utente e gli assegnamo la password.
Il campo dominio può assumere i valori:
- localhost per indicare che l’utente può connettersi solo dalla macchina locale;
- % per indicare che l’utente può connettersi da qualunque IP;
- o altrimenti si può indicare la rete o l’IP per indicare che l’utente può connettersi da determinati IP;
Ovvio che se vogliamo ad esempio abilitare la connessione al db per l’utente sia in locale che da ogni rete dobbiamo ripetere 2 volte l’operazione creando un “doppio utente”.
Dopo l’operazione di creazione dell’utente è bene lanciare un
flush privileges;
per aggiornare la cache del database.
Successivamente andiamo a creare il database con il comando
create database ‘nome_database’;
Anche dopo questo comando è bene aggiornare la cache con un …
flush privileges;
A questo punto ci manca di assegnare all’utente creato i permessi sul database; per far questo ci serviamo del comando…
grant all privileges on nome_database.* to nome_utente@dominio ;
ovvio che se abbiamo creato più utenti dobbiamo ripetere questa operazione per ogni utente creato e associato a questo database.
Per controllare l’esito delle operazioni possiamo usare il comando
show grant for nome_utente@dominio;
controllando la creazione corretta dell’acount e i suoi permessi.
Mi raccomando di fare attenzione ai ; .
Gianluca
create database nome_database; *** senza apici
stefano
grantS, con la s 😉
[code]show grants for ‘nome_utente’@’dominio’;[/code]
administrator
maledetta tastiera…. hihihihih