MySQL è il più popolare sistema di gestione di database relazionali open source. MySQL server ci consente di creare numerosi account utente e concedere privilegi appropriati in modo che gli utenti possano accedere e gestire i database.

Questo tutorial descrive come creare account utente MySQL e concedere privilegi.

Prima di iniziare #

Supponiamo che tu abbia già MySQL o MariaDB server installato sul tuo sistema.

Tutti i comandi vengono eseguiti all’interno della shell MySQL come utente root o amministrativo., I privilegi minimi richiesti per creare account utente e definirne i privilegi sono CREATE USER e GRANT.

Per accedere al MySQL shell digitare il comando seguente e inserisci il tuo MySQL password dell’utente root quando richiesto:

mysql -u root -p

Se si dispone di MySQL versione 5.7 o tardi, che utilizza il tag auth_socket plugin login come root digitando:

sudo mysql

Creare un nuovo Utente MySQL Account #

Un account utente in MySQL si compone di due parti: il nome utente e il nome dell’host.,

Per creare un nuovo utente MySQL account, eseguire il seguente comando:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
Sostituire newuser con il nuovo nome utente e user_password con la password dell’utente.

Nell’esempio precedente, la parte hostname è impostata su localhost, il che significa che l’utente sarà in grado di connettersi al server MySQL solo dal localhost (cioè dal sistema in cui viene eseguito il server MySQL).

Per concedere l’accesso da un altro host, modificare la parte del nome host con l’IP della macchina remota., Per esempio, per concedere l’accesso da una macchina con IP 10.8.0.5 si deve eseguire:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Per creare un utente in grado di connettersi da qualsiasi host, utilizzare il tag '%' jolly come una parte dell’host:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Concedere i Privilegi di un Utente MySQL Account #

Ci sono diversi tipi di privilegi che possono essere concessi per un account utente. Puoi trovare un elenco completo dei privilegi supportati da MySQL qui .,

I privilegi più comunemente usati sono:

  • ALL PRIVILEGES – Concede tutti i privilegi a un account utente.
  • CREATE – L’account utente è autorizzato a creare database e tabelle.
  • DROP – L’account utente può eliminare database e tabelle.
  • DELETE – L’account utente può eliminare righe da una tabella specifica.
  • INSERT – L’account utente può inserire righe in una tabella specifica.,
  • SELECT – L’account utente è autorizzato a leggere un database.
  • UPDATE – L’account utente può aggiornare le righe della tabella.,ble da un database:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • Concedere più privilegi di un account utente su un database specifico:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Display MySQL Account Utente con Privilegi di #

Per trovare il privilegio(s) concessa a uno specifico utente MySQL conto, utilizzare il SHOW GRANTS dichiarazione:

SHOW GRANTS FOR 'database_user'@'localhost';

L’output sarà simile di seguito:

Revocare i Privilegi di un Utente MySQL Account #

La sintassi di revocare uno o più dei privilegi di un account utente è quasi identico in caso di concessione di privilegi.,

Per revocare tutti i privilegi di un account utente su un database specifico, eseguire il seguente comando:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Rimuovere un MySQL Esistente Account Utente #

Per eliminare un utente MySQL account di utilizzare il DROP USER dichiarazione:

DROP USER 'user'@'localhost'

Il comando di sopra rimuovere l’account utente e i suoi privilegi.

Conclusione #

Questo tutorial copre solo le basi, ma dovrebbe essere un buon inizio per chiunque voglia imparare come creare nuovi account utente MySQL e concedere privilegi.