GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un nuovo utente MySQL e concedere privilegi

Introduzione

MySQL è un'applicazione di database per Linux e parte del popolare stack LAMP (Linux, Apache, MySQL, PHP). Un'installazione MySQL include opzioni di gestione tramite un utente root o account utente specifici.

Per motivi di sicurezza, in genere è meglio creare e gestire i dati come utenti specifici.

In questo tutorial, scopri come creare account utente MySQL e come gestire i loro permessi e privilegi.

Prerequisiti

  • Un server Linux con MySQL o MariaDB installato e in esecuzione
  • Accesso alle credenziali utente root MySQL
  • Accesso a una finestra di terminale/riga di comando (Ctrl-Alt-T / Ctrl-Alt-F2)

Come creare un nuovo utente MySQL

1. Prima di poter creare un nuovo utente MySQL, è necessario aprire una finestra del terminale e avviare la shell MySQL come utente root. Per farlo, inserisci il seguente comando:

sudo mysql –u root –p

2. Digita la password di root per questo account e premi Invio.

Il prompt dovrebbe cambiare per mostrare che sei in mysql> guscio.

3. Quindi, crea un nuovo utente MySQL con:

CREATE USER 'username' IDENTIFIED BY 'password';

Sostituisci nome utente e password con un nome utente e una password a tua scelta.

In alternativa, puoi configurare un utente specificando la macchina che ospita il database.

  • Se stai lavorando sulla macchina con MySQL, usa [email protected] per definire l'utente.
  • Se ti connetti da remoto, utilizza [email protected]_address e sostituisci indirizzo_ip con l'indirizzo effettivo del sistema remoto che ospita MySQL.

Pertanto, il comando sarà:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

o

CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';

Puoi anche creare un utente che può connettersi da qualsiasi macchina con il comando:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

Come concedere autorizzazioni in MySQL

Prima di accedere con un nuovo account, assicurati di aver impostato le autorizzazioni per l'utente.

Le autorizzazioni sono azioni che l'utente può eseguire nel database. A seconda di quanta autorità desideri che il tuo utente abbia, puoi concedere loro uno, più o tutti i seguenti privilegi:

  • Tutti i privilegi: L'account utente ha pieno accesso al database
  • Inserisci: L'utente può inserire righe nelle tabelle
  • Elimina: L'utente può rimuovere righe dalle tabelle
  • Crea: L'utente può creare tabelle e database completamente nuovi
  • Rilascia: L'utente può eliminare (rimuovere) intere tabelle e database
  • Seleziona: L'utente ottiene l'accesso al comando select, per leggere le informazioni nei database
  • Aggiornamento: L'utente può aggiornare le righe della tabella
  • Opzione di concessione: L'utente può modificare i privilegi di altri account utente

La sintassi di base utilizzata per concedere privilegi a un account utente è:

GRANT permission_type ON database.table TO 'username'@'localhost';

Ad esempio, per concedere privilegi di inserimento a un utente MySQL eseguiresti il ​​comando:

GRANT INSERT ON *.* TO 'username'@'localhost';

Puoi sostituire il livello di privilegio in base alle tue esigenze. Esegui il comando per ogni privilegio che desideri concedere.

Se desideri limitare l'accesso dell'utente a un database specifico, denomina il database prima del punto. Allo stesso modo, puoi limitare l'accesso di un utente a una determinata tabella nominandola dopo il punto, come nel comando seguente:

GRANT INSERT *database_name.table_name* TO 'username'@'localhost';

Gestione utenti MySQL

Questa sezione ti aiuterà a elencare i privilegi detenuti da un account utente, togliere i privilegi a un utente ed eliminare completamente un account utente. Ti mostrerà anche come disconnettersi dall'account utente MySQL root e accedere nuovamente con l'account che hai appena creato.

Come elencare i privilegi dell'account utente MySQL

Per visualizzare tutti i privilegi correnti detenuti da un utente:

SHOW GRANTS FOR username;

Come concedere tutti i privilegi su un database in MySQL

Per concedere tutti i privilegi all'utente MySQL su tutti i database usa il comando:

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

Tuttavia, puoi anche concedere tutti i privilegi a un account utente su un specifico database con il seguente comando:

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

Per concedere tutti i privilegi a un account utente su una tabella specifica da un tipo di database:

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

Revocare i privilegi dell'account utente MySQL

Per riprendere i privilegi di un utente specifico, utilizza il REVOKE comando. Funziona in modo simile al comando GRANT, la sua sintassi di base è:

REVOKE permission_type ON database.table TO 'username'@'localhost';

Rimuovere un intero account utente

Per eliminare un account utente MySQL usa il comando:

DROP USER 'username'@'localhost';

Linux
  1. Come aggiungere un nuovo utente MySQL e concedere privilegi di accesso

  2. Come creare ed eliminare un gruppo di utenti in Linux

  3. Come creare un nuovo utente con accesso Ssh?

  4. Come creare un database MySQL e il suo utente in CWP?

  5. Crea un nuovo utente e concedi i permessi in MySQL

Come creare un nuovo utente e concedere autorizzazioni in MySQL

Come creare un database MySQL e un utente in cPanel?

Come creare un nuovo database e utente MySQL?

Come posso creare un nuovo database MySQL in cPanel?

Come creare un utente Sudo su Ubuntu e Debian

Come creare e gestire nuovi utenti su Linux