Tutorial ITA - MySQL creazione database, utente ed assegnazione permessi (Grant)
Sommario:
- Prima di iniziare
- Crea un nuovo account utente MySQL
- Concedi privilegi a un account utente MySQL
- Visualizza i privilegi dell'account utente MySQL
- Revoca i privilegi da un account utente MySQL
- Rimuovere un account utente MySQL esistente
- Conclusione
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:
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 mariadbCome concedere o ottenere privilegi elevati in Windows 10/8/7
I privilegi elevati in Windows consentono agli utenti di ottenere privilegi amministrativi diritti con cui possono apportare modifiche al sistema e fare di più rispetto all`utente standard.
Come aprire un prompt dei comandi con privilegi elevati utilizzando una CMd
Un suggerimento per geek! Se è necessario aprire un prompt dei comandi con privilegi elevati USANDO il prompt dei comandi regolare predefinito, è possibile farlo utilizzando il seguente comando.
Come eliminare gli account degli utenti mysql
Questo tutorial spiega come eliminare gli account utente MySQL / MariaDB. In MySQL è possibile rimuovere uno o più utenti e assegnare i privilegi con l'istruzione DROP USER.