Reimpostare la password dell'utente root di MySQL
Dimenticare le password non è cosa così infrequente, anzi. Spesso è possibile ovviare a questa dimenticanza in modo molto semplice (si pensi ad esempio agli strumenti di "recupero password" comuni in molte web-application), altre volte la cosa è piuttosto complicata.
Recentemente mi è capitato di dover aiutare un cliente distratto che si era dimenticato la password di root per la gestione del MySQL installato sul suo server. Il problema è che per cambiare la password di amministrazione... bisogna prima accedere come amministratore!
In realtà quest'ultima affermazione è vera solo in parte in quanto, avendo accesso alla root del server, avremo comunque il controllo del MySQL e quindi abbiamo la possibilità di seguire strade alternative.
In questo articolo vedremo, appunto, come re-impostare la password di root del MySQL che ci siamo dimenticati; requisito essenziale e che si abbia accesso al server con privilegi di amministrazione.
Accediamo quindi alla shell del nostro server. Una volta effettuato l'accesso stoppiamo il processo mysqld:
/etc/rc.d/mysqld stopora avviamo il processo appena stoppato bypassando le procedure di autenticazione:
mysqld --skip-grant-tables &se stiamo operando in locale sul server (cioè solo se abbiamo un accesso diretto e fisico con la macchina) è bene anche bloccare l'accesso remoto:
mysqld --skip-grant-tables --skip-networking &Una volta avviato il servizio in questa modalità possiamo accedere al MySQL con:
mysql -u root mysqlBene, siamo dentro! Ora possiamo re-impostare la nostra password di root:
UPDATE user SET password=PASSWORD("nuova_pass") WHERE User='root';
FLUSH PRIVILEGES;
exit;
Molto importante dopo aver settato la nuova password effettuare un FLUSH dei privilegi!
Ora non resta che riavviare il demone del MySQL:
/etc/rc.d/mysqld restartUna volta riavviato proviamo ad accedere con le nuove credenziali... se tutto è andato per il meglio dovrebbe funzionare!







