GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere un nuovo utente MySQL e concedere privilegi di accesso

In questo tutorial, aggiungeremo un nuovo utente in MySQL e concederemo diversi tipi di privilegi su un database MySQL.

Il server MySQL ci consente di creare numerosi account utente e concedere privilegi appropriati in modo che gli utenti possano accedere e gestire i database. Dopo aver installato MySQL sul server, devi creare un database e account utente aggiuntivi.

Per eseguire i seguenti comandi, devi prima accedere al server MySQL con l'account root MySQL.

mysql -u root -p

Come creare un nuovo utente MySQL

Il CREATE USER istruzione crea un nuovo utente nel server di database MySQL. Ecco la sintassi di base dell'istruzione:

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

Nella sintassi sopra, assicurati di sostituire il nome utente e password con il nome utente e la password desiderati.

Imposta il hostname a localhost se vuoi che l'utente sia in grado di connettersi a MySQL Server solo dal localhost, che significa "questo computer". Se vuoi che l'utente possa connettersi da qualsiasi host, usa il % carattere jolly come nome host.

Ad esempio, creeremo un utente con il nome james e la password MyStrongPass123 utilizzando il seguente comando:

CREATE USER 'james'@'localhost' IDENTIFIED BY 'MyStrongPass123';

Tuttavia, questo utente non sarà in grado di lavorare con nessuno dei database MySQL finché non gli verranno concessi privilegi aggiuntivi.

Come concedere privilegi a un utente MySQL

Subito dopo aver creato correttamente il nuovo utente, possiamo concedere i privilegi a questo nuovo utente. Nella maggior parte dei casi, concederai privilegi agli utenti MySQL in base al particolare database a cui l'account dovrebbe avere accesso.

Esistono diversi tipi di privilegi che possono essere concessi a un account utente. Puoi trovare un elenco completo dei privilegi supportati da MySQL qui.

  • ALL PRIVILEGES – Concede tutti i privilegi a un account utente.
  • ALTER – L'utente può modificare la struttura di una tabella o di un database.
  • CREATE – L'account utente può 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 può leggere un database.
  • UPDATE – L'account utente può aggiornare le righe della tabella.

Per fornire a un utente l'accesso al database MySQL e concedere le autorizzazioni, in genere è necessario utilizzare il seguente GRANT dichiarazione:

GRANT permission_type ON privilege_level TO 'username'@'hostname'; 

Per concedere tutti i privilegi all'utente james su jamesdb database, utilizzare il seguente comando:

GRANT ALL PRIVILEGES ON jamesdb.* TO 'james'@'localhost';

Digita quanto segue per concedere solo SELECT e INSERT privilegi all'utente james su jamesdb banca dati:

GRANT SELECT, INSERT ON jamesdb.* TO 'james'@'localhost';

Grande SELECT privilegi all'utente james solo a salaries tabella sui employees banca dati:

GRANT SELECT ON employees.salaries TO 'james'@'localhost';

In alcuni casi potresti voler creare un altro "super utente". Concedere a un utente gli stessi privilegi dell'utente root di MySQL , utilizza il comando seguente, che concede privilegi globali all'utente james connessione tramite localhost :

GRANT ALL ON *.* TO 'james'@'localhost' WITH GRANT OPTION;

Modifica una password dell'account utente MySQL

Supponi di voler cambiare la password per james   utente che si connette da localhostNewStrongPass123 , è necessario eseguire la seguente istruzione SQL:

ALTER USER 'james'@'localhost' IDENTIFIED BY 'NewStrongPass123';

Nell'istruzione SQL precedente, assicurati di modificare james con l'utente del database e localhost con l'host dell'utente.

Mostra Privilegi per un utente in MySQL

In MySQL, puoi usare SHOW GRANTS comando per visualizzare tutte le informazioni sulla concessione per un utente. Facciamo alcuni esempi.

La seguente istruzione utilizza il SHOW GRANTS istruzione per visualizzare i privilegi concessi per l'utente corrente:

SHOW GRANTS;

Per visualizzare le sovvenzioni per un utente MySQL, puoi utilizzare SHOW GRANTS specificando il nome utente:

SHOW GRANTS FOR 'james'@'localhost';

Revocare i privilegi da un account utente MySQL

La sintassi per revocare uno o più privilegi da un account utente è quasi identica a quella per concedere i privilegi.

Se è necessario revocare i privilegi all'utente james su un jamesdb database, applica la sintassi che è simile a quella che hai utilizzato per la concessione delle autorizzazioni:

REVOKE ALL PRIVILEGES ON jamesdb.* FROM 'james'@'localhost';

Rimuovi utente da MySQL

Invece di revocare i privilegi, potresti voler rimuovere anche quell'utente. Quindi, puoi rimuovere un utente del database usando il seguente comando:

DROP USER 'james'@'localhost';

Il comando sopra rimuoverà l'utente james insieme a tutti i suoi privilegi.

Salvataggio delle modifiche

Come passaggio finale, ogni volta che aggiorni o modifichi un'autorizzazione assicurati di utilizzare i FLUSH PRIVILEGES comando.

FLUSH PRIVILEGES;

Conclusione

Dopo aver completato questo tutorial, dovresti avere un'idea di come aggiungere nuovi utenti e concedere loro una serie di autorizzazioni in un database MySQL.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Come creare un nuovo utente MySQL e concedere privilegi

  2. Come concedere e rimuovere i privilegi di Sudo agli utenti su Ubuntu

  3. Come creare un nuovo utente con accesso Ssh?

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

  5. Come posso aggiungere X giorni fino ad oggi e ottenere una nuova data?

Come controllare i privilegi utente MySQL in Linux

Come creare un nuovo utente e concedere autorizzazioni in MySQL

Come aggiungere il database MySQL e l'utente del database MySQL su Plesk?

Come aggiungere il database MySQL in SolidCP?

Come aggiungere il database MySQL in WebsitePanel 2.1?

Come creare un nuovo database e utente MySQL?