Come impostare la password su MySQL

6 mar 2023 4 min di lettura
Come impostare la password su MySQL
Indice dei contenuti

Introduzione

MySQL è un sistema di gestione di database relazionali open source, ovvero un software che consente di creare e gestire basi di dati organizzate in tabelle, con relazioni tra di esse, per la memorizzazione e l'accesso ai dati in modo efficiente. È uno dei database relazionali più diffusi al mondo ed è stato sviluppato originariamente da MySQL AB, una società svedese acquisita poi da Sun Microsystems e successivamente da Oracle Corporation.

MySQL utilizza il linguaggio SQL (Structured Query Language) per interrogare e manipolare i dati all'interno dei database. È caratterizzato dalla sua facilità d'uso, dalla sua scalabilità e dalla sua robustezza. Inoltre, essendo open source, è disponibile gratuitamente e può essere utilizzato, modificato e distribuito senza restrizioni.

MySQL è utilizzato in molte applicazioni web, tra cui CMS (Content Management System), forum, blog e applicazioni e-commerce. Grazie alla sua ampia diffusione e alla vasta comunità di sviluppatori che lo supporta, è possibile trovare molti strumenti e librerie di supporto per l'integrazione con altri software e linguaggi di programmazione.

Configurare la password

A partire da luglio 2022, si verificherà un errore quando si esegue lo script mysql_secure_installation senza ulteriori configurazioni. Il motivo è che questo script tenterà di impostare una password per l'account MySQL root dell'installazione ma, per impostazione predefinita nelle installazioni Ubuntu, questo account non è configurato per connettersi utilizzando una password.

Prima di luglio 2022, questo script falliva silenziosamente dopo aver tentato di impostare la password dell'account root e continuare con il resto dei prompt. Tuttavia, al momento della stesura di questo documento, lo script restituirà il seguente errore dopo aver inserito e confermato una password:

... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

New password:

Questo porterà lo script in un ciclo ricorsivo da cui puoi uscire solo chiudendo la finestra del terminale.

Poiché lo script mysql_secure_installation esegue una serie di altre azioni utili per mantenere sicura l'installazione di MySQL, è comunque consigliabile eseguirlo prima di iniziare a utilizzare MySQL per gestire i dati. Per evitare di entrare in questo ciclo ricorsivo, tuttavia, dovrai prima regolare il modo in cui il tuo utente MySQL root si autentica.

Innanzitutto, apri il prompt di MySQL:

sudo mysql

Quindi eseguire il comando ALTER USER seguente per modificare il metodo di autenticazione dell'utente root in uno che utilizza una password. L'esempio seguente modifica il metodo di autenticazione in mysql_native_password:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Dopo aver apportato questa modifica, esci dal prompt di MySQL:

exit

Successivamente, puoi eseguire lo script mysql_secure_installation senza problemi.

Come ripristinare il metodo di autenticazione predefinito senza password

Una volta completato lo script di sicurezza, puoi riaprire MySQL e riportare il metodo di autenticazione auth_socket dell'utente root al valore predefinito, . Per autenticarti come utente MySQL root utilizzando una password, esegui questo comando:

mysql -u root -p

Quindi torna a utilizzare il metodo di autenticazione predefinito utilizzando questo comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

Ciò significa che puoi connetterti nuovamente a MySQL come utente root utilizzando il comando sudo mysql.

Esegui lo script di sicurezza con sudo:

sudo mysql_secure_installation

Questo ti porterà attraverso una serie di prompt in cui puoi apportare alcune modifiche alle opzioni di sicurezza della tua installazione di MySQL. Il primo prompt ti chiederà se desideri configurare il plug-in Validate Password, che può essere utilizzato per testare la sicurezza della password dei nuovi utenti MySQL prima di ritenerli validi.

Se decidi di impostare il plug-in Validate Password, a qualsiasi utente MySQL creato che si autentica con una password verrà richiesto di avere una password che soddisfi la politica selezionata. Il livello di policy più forte, che puoi selezionare immettendo 2, richiederà che le password siano lunghe almeno otto caratteri e includano una combinazione di caratteri maiuscoli, minuscoli, numerici e speciali:

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
 2

Indipendentemente dal fatto che tu scelga di configurare il plug-in Validate Password, il prompt successivo sarà impostare una password per l' utente root di MySQL. Inserisci e poi conferma una password sicura a tua scelta:

Please set the password for root here.


New password:

Re-enter new password:

Nota che anche se hai impostato una password per l' utente MySQL root , questo utente non è attualmente configurato per l'autenticazione con una password durante la connessione alla shell MySQL.

Se hai utilizzato il plug-in Validate Password, riceverai un feedback sulla forza della tua nuova password. Quindi lo script chiederà se si desidera continuare con la password appena inserita o se si desidera inserirne una nuova. Supponendo che tu sia soddisfatto della forza della password che hai appena inserito, inserisci Yper continuare lo script:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Da lì, puoi premere Y e poi ENTER per accettare i valori predefiniti per tutte le domande successive. Ciò rimuoverà alcuni utenti anonimi e il database di test, disabiliterà gli accessi root remoti e caricherà queste nuove regole in modo che MySQL rispetti immediatamente le modifiche apportate.

Una volta completato lo script, l'installazione di MySQL sarà protetta. Ora puoi passare alla creazione di un utente di database dedicato con il client MySQL.

Conclusione

In questo tutorial abbiamo visto come impostare la password su MySQL.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.