GNU/Linux >> Linux Esercitazione >  >> Linux

Crea un nuovo utente e concedi i permessi in MySQL

L'articolo descrive le autorizzazioni del database MySQL®. Descrive anche come creare un nuovo utente e concedere o revocare le autorizzazioni.

Utilizzo dei comandi MySQL

Di seguito sono riportati suggerimenti utili per i comandi MySQL.

Maiuscole

Non è necessario digitare i comandi MySQL in maiuscolo. Entrambi i seguenti comandi funzionano ugualmente bene:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
create user ‘username’@’localhost’ identified by ‘password’;

Tuttavia, l'uso delle lettere maiuscole ti aiuta a mantenere la sintassi del comando separata dai dati o dagli elementi variabili del comando.

parametro localhost

Inoltre, puoi modificare il localhost elemento, che consente all'utente di accedere al database dal computer in cui ci si trova attualmente. Se vuoi consentire all'utente di accedere al database da qualsiasi luogo, usa un % symbolinvece di localhost . Se si desidera che l'utente acceda al database da un indirizzo IP specifico, inserire invece quell'indirizzo IP. Ad esempio username’@’22.111.000.34 .

Pertanto, puoi creare un utente con uno qualsiasi dei seguenti comandi:

CREA UTENTE 'nomeutente'@'localhost' IDENTIFICATO DA 'password';CREA UTENTE 'nome utente'@'%' IDENTIFICATO DA 'password';CREA UTENTE 'nome utente'@'22.111.000.34' IDENTIFICATO DA 'password';

Nota: Se si desidera che l'utente possa accedere al database da due posizioni specifiche e solo da quelle posizioni, è necessario creare l'utente due volte. Ad esempio, supponiamo che tu voglia che il tuo utente sia in grado di accedere al database dal computer in cui ti trovi attualmente e da un indirizzo IP specifico. Innanzitutto, crea l'utente utilizzando localhost posizione nel comando. Quindi, crea di nuovo l'utente utilizzando l'indirizzo IP specifico.

Autorizzazioni

Le autorizzazioni comuni includono quanto segue:

  • TUTTI I PRIVILEGI :consente all'utente l'accesso completo a un database designato o consente l'accesso globale attraverso il sistema se non si designa un database. Questa autorizzazione include tutte le seguenti autorizzazioni tranne GRANT .

  • CREA :consente all'utente di creare nuove tabelle o database.

  • DROP :consente all'utente di eliminare tabelle o database.

  • ELIMINA :consente all'utente di eliminare righe dalle tabelle.

  • INSERIRE :consente all'utente di inserire righe nelle tabelle.

  • SELEZIONA :Concede all'utente privilegi di sola lettura ai database designati.

  • AGGIORNAMENTO :consente all'utente di aggiornare le righe della tabella.

  • BLOCCA TABELLE :consente all'utente di bloccare le tabelle.

  • MOSTRA BANCHE DATI :consente all'utente di elencare tutti i database.

  • OPZIONE DI CONCESSIONE :consente all'utente di concedere o rimuovere i privilegi di altri utenti. Devi concedere questa autorizzazione in modo esplicito.

Accedi

Accedi a MySQL come utente root utilizzando il seguente comando:

mysql -u root -p

Il sistema richiede la password di root per MySQL, che è diversa dalla password di root per il server stesso.

Nota: Se disponi dei privilegi sudo sul server, è probabile che tu possa trovare la password root di MySQL in ~/.my.cnf file, come utente root.

Crea un nuovo utente

Ora che hai effettuato l'accesso a MySQL come root, puoi creare il tuo utente. Scegli un nome utente che ti piace. Inserisci il comando seguente, sostituendo username e password con il nome utente e la password scelti:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;

In caso di esito positivo, il sistema visualizza Query OK .

Concedi il permesso

Usa il seguente formato per concedere i privilegi utente in MySQL:

GRANT permission1, permission2, permission3 ON databasename.tablename TO ‘newuser’@’localhost’;

Se vuoi solo dare all'utente l'accesso a tutte le tabelle su un database, usa databasename.* invece di databasename.tablename . Allo stesso modo, se vuoi che l'utente disponga di un particolare insieme di privilegi su tutte le tabelle di tutti i database, usa *.* .

Esempi di concessione di privilegi:

GRANT ALL PRIVILEGES ON databasename.* TO ‘newuser’@’%’;

GRANT ALL PRIVILEGES, GRANT OPTION ON *.* TO ‘newuser’@’22.111.000.34’;

GRANT SELECT, SHOW DATABASES, LOCK TABLES ON databasename.* TO ‘newuser’@’localhost’;

Revoca autorizzazioni

Quando devi revocare i privilegi di un utente, utilizza il seguente formato:

REMOVE permission1, permission2, permission3 ON databasename.* FROM ‘newuser’@’localhost’;

Controlla i permessi

Per verificare quali privilegi ha un utente, usa il seguente comando:

SHOW GRANTS newuser;

Applica autorizzazioni

Dopo aver creato un utente, concesso i privilegi o revocato i privilegi, esegui il comando seguente:

FLUSH PRIVILEGES;

Questo comando ricarica le tabelle con i nuovi utenti e privilegi inclusi. Consideralo come salvare le modifiche.

Esci

Dopo aver terminato di apportare modifiche, utilizzare il seguente comando per uscire da MySQL in modo sicuro:

EXIT;

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

  2. Crea un nuovo database e usalo in MySQL/MariaDB

  3. Crea un database MySQL e un utente in cPanel

  4. Crea e modifica utenti in MySQL

  5. Nozioni di base su utenti e database 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?

Gestione delle autorizzazioni utente MySQL in cPanel

Come creare e gestire nuovi utenti su Linux

Crea e configura un utente in MSSQL