Ripristinare la password MySQL dell'utente root in Linux
Hai dimenticato la password MySQL dell'utente root? In questo articolo vediamo come ripristinarla su una distribuzione Linux Centos / Fedora / RedHat
Da terminale, quando effettui il login a MySQL, ed inserisci una password errata, vedrai questo errore
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Non disperare, vediamo assieme come assegnare all'utente root una nuova password.
La procedura è semplice, ma devi aver accesso come utente root al server stesso.
Questi gli step da seguire
1: da terminale, devi FERMARE il servizio MySQL
# service mysqld stop
2: dallo stesso terminale, avvia il servizio MySQL in modalità provvisoria
# /usr/libexec/mysqld --skip-grant-tables &
L'opzione "skip-grant-tables" consente di disabilitare i sistemi di autenticazione, per cui non ti verranno chieste credenziali di accesso
Volendo possiamo aggiungere l’opzione "skip-networking" per disabilitare l’accesso da remoto, evitando così che qualcuno sfrutti questa temporanea apertura.
# /usr/libexec/mysqld --skip-grant-tables --skip-networking &
3: colleghiamoci a MySQL come utente root
# mysql -u root
Come detto, non verrà chiesta la password. Entrati nella shell di mysql impostiamo la nuova password di root in questo modo:
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD("scrivi qui la nuova password") WHERE User='root';
mysql> flush privileges;
mysql> quit
4: stoppiamo nuovamente MySQL (sta girando in modalità provvisoria)
# service mysqld stop
4: riavviamo MySQL in modalità normale
# service mysqld start
5: infine, testiamo la nuova password, effettuando il login
# mysql -u root -p
Se la procudura è stata correttamente eseguita, avrai accesso a MySQL.