Shell di MySQL : creare utenti, database e gestire i permessi

postato in: LAMP, Linux, Web | 3

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 ; .

3 risposte

  1. create database nome_database; *** senza apici

  2. grantS, con la s 😉
    [code]show grants for ‘nome_utente’@’dominio’;[/code]

  3. maledetta tastiera…. hihihihih

Lascia un commento