Mysql
 sql >> Database >  >> RDS >> Mysql

Creazione di un utente su MySQL

Subito dopo aver installato MySQL, avrai la root utente disponibile.

Questo è l'utente che potresti usare per provare a vedere se MySQL funziona, ma non dovrebbe essere l'utente per altri tipi di utilizzo.

Come mai? Perché è troppo potente .

Da un grande potere derivano grandi responsabilità (ha detto lo zio di Spider-Man). E in particolare, grande pericolo se commetti errori.

Invece, dovresti creare utenti ad hoc che dispongono solo delle autorizzazioni per svolgere il loro lavoro e non di più. Lo stesso vale per l'utilizzo di Linux o di qualsiasi sistema Unix, ad esempio:non si desidera utilizzare il root utente, ma il tuo account utente.

Per creare un nuovo utente, connettiti a MySQL usando la root utente:

mysql -u root -p

quindi usa il comando

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

Ad esempio, per creare un utente denominato test_user con password test_password12A esegui il comando:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Il comando dovrebbe restituire una riga che dice Query OK, 0 rows affected (X.XX sec) :

Se hai utilizzato una password non valida, il sistema ti direbbe qualcosa come ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . In questo caso l'errore dice che la password non è abbastanza complessa, perché quando ho installato MySQL gli ho detto di usare una certa policy sulle password.

È fantastico! Ora l'utente è stato creato e possiamo connetterci usando quell'utente a MySQL. Dalla riga di comando puoi uscire digitando QUIT e digitando:

mysql -u test_user -p

Ora, se provo a creare un database, otterrei un errore che dice ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Come mai? Perché l'utente non dispone dell'autorizzazione per creare un nuovo database .

Vedremo come lavorare con le autorizzazioni in un altro tutorial.

Vale la pena menzionare il @'localhost' stringa che abbiamo usato per creare l'utente. Questo dice a MySQL che l'utente può connettersi solo da localhost. Il che va bene quando si testano le cose e quando qualsiasi applicazione che si collegherà a MySQL è in esecuzione sullo stesso computer che esegue il DBMS.

Quando ciò non è vero, devi inserire manualmente l'IP da cui l'utente si connetterà o utilizzare il % carattere jolly:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Voglio chiudere questo tutorial mostrando come rimuovere l'utente che abbiamo creato:

DROP USER 'test_user'@'localhost';