MySQL è un sistema di gestione di database popolare e ampiamente utilizzato che archivia e organizza i dati e consente agli utenti di recuperarli. Viene fornito con una vasta gamma di opzioni che concedono agli utenti determinate autorizzazioni per tabelle e database.
In questa guida imparerai come creare un nuovo utente e concedere le autorizzazioni nel MySQL Banca dati.
Per creare un nuovo utente, accedi prima alla shell MySQL.
$ sudo mysql -u root -p.
Fornire la password sudo seguita dalla password fornita quando configurare il database MySQL e colpisci ACCEDERE. Successivamente, riceverai questo messaggio.
Per creare un nuovo utente, usa la sintassi mostrata di seguito:
MariaDB [nessuno]> CREA UTENTE 'nuovo utente'@'localhost' IDENTIFICATO DA 'parola d'ordine';
Ad esempio, per creare un nuovo utente chiamato "tecnica' all'interno del database, invoca il comando:
MariaDB [nessuno]> CREA UTENTE 'tecnica'@'localhost' IDENTIFICATO DA 'QkYKmw$5tec';
Quando si aggiunge un utente localmente, ad esempio sul sistema che è stato installato MySQL, l'host dell'utente è specificato come localhoste non l'indirizzo IP. La parola chiave 'localhost' si traduce in 'questo computer' e MySQL lo tratta in modo univoco. Fondamentalmente, localhost viene utilizzato dal client mysql per stabilire una connessione al server di database MySQL installato localmente.
Finora, il tecnica l'utente non dispone di autorizzazioni per interagire con i database. Di fatto, l'utente non può nemmeno accedere alla shell MySQL.
Per concedere all'utente l'accesso completo a tutti i database, comprese le tabelle, eseguire.
MariaDB [nessuno]> CONCEDI TUTTI I PRIVILEGI SU *. * A 'tecnica'@'localhost';
Nel comando sopra, gli asterischi puntano rispettivamente al database e alla tabella a cui l'utente può accedere. Garantisce all'utente tutti i diritti sul database – leggere, scrivere, modificare, e eseguire inclusa l'esecuzione di tutte le attività anche su altri database e tabelle.
Finora, abbiamo concesso all'utente l'accesso completo al database. Sebbene questo sia utile per spiegare i concetti di MySQL, generalmente non è raccomandato in quanto potrebbe rappresentare un rischio per la sicurezza dei database. Basti pensare a cosa potrebbe accadere se un hacker entrasse in possesso della password dell'utente. Procederemo ulteriormente e discuteremo come assegnare autorizzazioni specifiche nella sezione successiva.
Al termine dell'assegnazione delle autorizzazioni all'utente, ricaricare tutti i privilegi come mostrato per rendere effettive le modifiche.
MariaDB [nessuno]> FLUSH PRIVILEGI.
Ecco una ripartizione delle possibili autorizzazioni che puoi concedere agli utenti:
Per concedere un'autorizzazione utente specifica, utilizzare la sintassi:
MariaDB [nessuno]> GRANT permesso_tipo ON database_name.table_name TO 'username'@'localhost';
Inoltre, puoi assegnare autorizzazioni a tutte le tabelle in un database con un singolo simbolo asterisco come mostrato:
MariaDB [nessuno]> GRANT permesso_tipo ON database_name.* TO 'username'@'localhost';
Ad esempio, per assegnare SELEZIONARE permessi a 'tecnica'utente su tutte le tabelle del database testdb, eseguire il comando.
MariaDB [nessuno]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';
Quindi svuota i privilegi per rendere effettive le modifiche.
MariaDB [nessuno]> PRIVILEGI FLUSH;
Inoltre, puoi assegnare più autorizzazioni contemporaneamente separandole con una virgola come mostrato.
MariaDB [nessuno]> GRANT INSERIRE, AGGIORNARE SOPRA testdb.* A 'tecnica'@'localhost';
Per revocare le autorizzazioni a un utente, utilizzare la sintassi:
MariaDB [nessuno]> REVOCA tipo_autorizzazione SOPRA nome_database.nome_tabella FROM 'nomeutente'@'localhost';
Ad esempio, per revocare INSERIRE permessi dall'utente 'tecnica', esegui il comando.
MariaDB [nessuno]> REVOCA INSERIRE SOPRA testdb.* FROM tecmint'@'localhost'; MariaDB [nessuno]> FLUSH PRIVILEGI.
Per dare un'occhiata alle autorizzazioni correnti di un utente, esegui:
MariaDB [nessuno]> SHOW GRANTS FOR 'username'@'localhost';
Dall'output di seguito, possiamo vedere che il INSERIRE il permesso è stato cancellato dal 'tecnica' utente che esce solo SELEZIONARE e AGGIORNARE diritti sul testdb Banca dati.
Per testare l'accesso alla shell MySQL utilizzando il nuovo utente, eseguire prima il logout.
MariaDB [nessuno]> esci;
Quindi accedi di nuovo.
$ sudo mysql -u tecmint -p.
Fornisci la password dell'utente e premi ACCEDERE per accedere al guscio.
Per eliminare un utente, usa il pulsante FAR CADERE comando, proprio come faresti quando elimini un database.
MariaDB [nessuno]> DROP USER 'username'@'localhost';
Potresti anche leggere i seguenti articoli relativi a MySQL:
Si spera che ormai tu possa creare utenti nei tuoi server di database MySQL e assegnare o revocare comodamente le autorizzazioni.