Creare un utente e gestire i privilegi di accesso in MySQL
Come creare utenti MySQL e gestire i loro privilegi.
Quando si lavora con un server dedicato o un VPS, una delle attività fondamentali è organizzare l'archiviazione e la gestione dei dati. MySQL è un sistema di gestione di database che consente di strutturare le informazioni in modo efficiente e di controllare gli accessi degli utenti. È adatto sia a piccoli progetti che ad applicazioni di scala maggiore, garantendo sicurezza, affidabilità e facilità d'uso.
MySQL utilizza un sistema di utenti per controllare l'accesso ai database. Un amministratore o un utente autorizzato può concedere ad altri utenti un accesso completo o limitato a database e tabelle specifici.
Privilegi MySQL
Privilegi a livello di database e tabella:
CREATE— creare database e tabelle.DROP— eliminare database e tabelle.INSERT— aggiungere righe alle tabelle.UPDATE— modificare i dati delle righe. Da non confondere conALTER, che modifica la struttura della tabella.DELETE— rimuovere righe dalle tabelle.ALTER— modificare la struttura delle tabelle; richiede i privilegiCREATEeINSERT.SELECT— leggere dati dalle tabelle.GRANT OPTION— concedere o revocare privilegi ad altri utenti (limitato ai privilegi già posseduti dall'utente).LOCK TABLES— bloccare le tabelle durante le operazioni di scrittura.REFERENCES— creare relazioni di chiave esterna tra tabelle.EVENT— creare, modificare ed eliminare eventi del pianificatore.TRIGGER— creare, modificare ed eliminare trigger per le operazioniDELETE,UPDATEeINSERT.INDEX— creare e rimuovere indici.CREATE TEMPORARY TABLES— creare tabelle temporanee per la durata di una sessione.CREATE VIEW— creare viste che aggregano dati da altre tabelle.SHOW VIEW— visualizzare la query SQL alla base di una definizione di vista.CREATE ROUTINE— creare procedure memorizzate.ALTER ROUTINE— modificare procedure memorizzate.EXECUTE— eseguire procedure memorizzate.FILE— accedere ai file del server disponibili per MySQL e creare file nelle directory in cui MySQL ha permessi di scrittura.
Privilegi amministrativi:
CREATE TABLESPACE— creare, modificare ed eliminare tablespace.CREATE USER— creare, modificare ed eliminare utenti MySQL.PROCESS— visualizzare informazioni sui thread attivi del server.PROXY— accedere come un altro utente per verificarne i diritti di accesso.RELOAD— eseguire il comandoFLUSHper svuotare la cache MySQL.REPLICATION CLIENT— eseguireSHOW MASTER STATUS,SHOW SLAVE STATUSeSHOW BINARY LOG.REPLICATION SLAVE— consentire ai server replica di ricevere aggiornamenti dal server primario.SHOW DATABASES— elencare tutti i database presenti sul server.SHUTDOWN— arrestare il server MySQL.SUPER— diritti amministrativi estesi: terminare i processi di altri utenti, modificare le variabili di sistema globali, gestire logging e replica.ALL— tutti i privilegi disponibili, ad eccezione diGRANT OPTION.
I nostri prodotti e servizi
Creare un utente
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Per impostazione predefinita, il nuovo utente non ha privilegi su alcun database.
Concedere privilegi
Concedere tutti i privilegi su tutti i database e le tabelle:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
Concedere privilegi specifici su un database o una tabella specifica:
GRANT [privilege type] ON [database].[table] TO '[username]'@'localhost';
Usa * al posto del nome di un database o di una tabella per applicare i privilegi a tutti.
Dopo aver apportato modifiche, ricarica le tabelle dei privilegi:
FLUSH PRIVILEGES;
Revocare i privilegi
REVOKE [privilege type] ON [database].[table] FROM '[username]'@'localhost';
Eliminare un utente
DROP USER 'demo'@'localhost';
Verificare l'account
Uscire da MySQL:
quit
Quindi accedere nuovamente come nuovo utente:
mysql -u [username] -p
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!