Error decode JSON exrate
Quando si lavora con il DBMS MySQL, è estremamente importante sapere come cambiare la password dell'utente. Sembra che questo compito possa essere risolto solo se si dispone dei diritti di superutente. Ma anche un utente normale può cambiare la password in determinate circostanze. In questo articolo vi spiegheremo come farlo in circostanze normali.
È possibile modificare la password di un utente in diversi modi. Nell'ambiente MySQL esistono due comandi per questo compito: SET PASSWORD
e ALTER USER
. Vediamo di illustrare in dettaglio ciascuno di questi due metodi.
All'inizio di quest'anno, MySQL ha due versioni principali. La prima è obsoleta ma ancora supportata (si tratta della versione 5.7), mentre quella più recente è attualmente la versione 8.0. Come scoprire la versione di MySQL? È possibile farlo con un comando speciale, da eseguire nel terminale:
$ mysql –version
Come si può vedere dall'immagine qui sopra, viene utilizzata la versione 8.0.28, ma è importante notare che ALTER USER
è rilevante solo nelle versioni precedenti di MySQL, mentre nelle versioni più recenti è possibile utilizzare entrambe le versioni.
Per accedere alla console, è necessario effettuare il login a MySQL utilizzando il proprio login e la propria password. Se un utente è già autorizzato sul server, è necessario eseguire tutte le azioni a suo nome. Quando si utilizza MySQL per la prima volta, è necessario utilizzare i privilegi di root.
Il comando per accedere come root:
$ mysql -u root –p
Dopo di che, verrà richiesto di inserire la password. Non resta che inserire la password e premere il tasto Invio, subito dopo verrà caricata l'interfaccia di MySQL con tutti i comandi disponibili.
La particolarità di MySQL è che ha un host separato a cui è legato un account. Vediamo i tre host principali:
Localhost consente solo il login locale senza connettività remota, % significa che l'account può essere utilizzato da qualsiasi host, indirizzo IP/nome di dominio significa che l'account può essere utilizzato solo presso il nome di dominio/indirizzo IP selezionato.
Per scoprire il tipo di host dell'account è necessario eseguire la seguente query SQL:
$ SELECT user, host FROM mysql.user
Nella schermata precedente, possiamo vedere che l'utente alex ha un host di %. Questo host deve essere utilizzato quando si cambia la password. Gli utenti in MySQL e tutte le informazioni sugli utenti sono memorizzate nel database mysql nella tabella user.
È possibile modificare la password anche con il comando SET PASSWORD
. Per cambiare la password dell'utente alex con host % in somepassword666 è necessario utilizzare il seguente comando:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
È possibile cambiare il codice utente utilizzando un altro comando: ALTER USER
. Per cambiare la password dell'utente alex con host % in un'altrapassword666 eseguiamo una query SQL:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Si noti che nome utente e host sono racchiusi tra apici singoli, senza i quali MySQL non sarà in grado di riconoscere la stringa.
Ora ripristinate la cache dei privilegi:
$ FLUSH PRIVILEGES;
Dopo aver cambiato la password, modificato i privilegi e resettato la cache, è necessario eseguire una verifica di accesso come utente a cui è stata cambiata la password.
Uscire dalla
shell MySQL eseguendo il comando exit
:
$ exit
Accedere ora alla shell:
$ mysql -u alex -p
Se durante l'accesso viene visualizzato il prompt di sistema, è stato fatto tutto correttamente, il che significa che la password è stata cambiata con successo.