androide

Come creare account utenti mysql e concedere privilegi

Tutorial ITA - MySQL creazione database, utente ed assegnazione permessi (Grant)

Tutorial ITA - MySQL creazione database, utente ed assegnazione permessi (Grant)

Sommario:

Anonim

MySQL è il più popolare sistema di gestione di database relazionali open source. Il server MySQL ci consente di creare numerosi account utente e concedere i 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

Partiamo dal presupposto che sul tuo sistema sia già installato un server MySQL o MariaDB.

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 alla shell MySQL digitare il comando seguente e inserire la password dell'utente root di MySQL quando richiesto:

mysql -u root -p

Crea un nuovo account utente MySQL

Un account utente in MySQL è costituito da un nome utente e parti del nome host.

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

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Sostituisci il valore segnaposto newuser con il nuovo nome utente desiderato e il valore segnaposto user_password con la password utente.

Nel comando sopra la parte hostname è impostata su localhost , il che significa che l'utente sarà in grado di connettersi al server MySQL solo dall'host locale (cioè dal sistema in cui è in esecuzione MySQL Server).

Per concedere l'accesso da un altro host, modificare la parte del nome host ( localhost ) con l'IP del computer remoto. Ad esempio, per concedere l'accesso da una macchina con IP 10.8.0.5 dovresti 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 carattere jolly '%' come parte host:

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

Concedi privilegi a un account utente MySQL

Esistono più tipi di privilegi che possono essere concessi a 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 : all'account utente è consentito 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 è autorizzato ad aggiornare le righe della tabella.

Per concedere privilegi specifici a un account utente, è possibile utilizzare la sintassi seguente:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Ecco alcuni esempi:

  • Tutti i privilegi di un account utente su un database specifico:

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

    Tutti i privilegi di un account utente su tutti i database:

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

    Tutti i privilegi di un account utente su una tabella specifica da un database:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

    Concedere più privilegi a un account utente su un database specifico:

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

Visualizza i privilegi dell'account utente MySQL

Per trovare i privilegi concessi a uno specifico account utente MySQL, utilizzare l'istruzione SHOW GRANTS :

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Revoca i privilegi da un account utente MySQL

La sintassi per revocare uno o più privilegi da un account utente è quasi identica a quando si concedono i privilegi.

Ad esempio, per revocare tutti i privilegi da un account utente su un database specifico, utilizzare il comando seguente:

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

Rimuovere un account utente MySQL esistente

Per eliminare un account utente MySQL utilizzare l' DROP USER :

DROP USER 'user'@'localhost'

Il comando sopra rimuoverà 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.

mysql mariadb