Reset password di root di MySql

Ogni tanto capita di dimenticare la password di root di MySql.

In tal caso viene a mancare la possibilità di accedere al server per fare manutenzione, restore, backup dei database.

Per ripristinare una password di accesso come root è necessario effettuare le seguenti operazioni:

  1. Scrivere il seguente comando in un file di testo e salvarlo in un file denominato mysql-init.txt:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
  2. Chiudere il servizio MySql dalla maschera dei servizi di windows.
  3. Quando il server viene eseguito potrebbe utilizzare un file di dati non standard. In tal caso è necessario conoscere la posizione di questo file altrimenti il processo mysqld non si avvierà. La posizione del file si può trovare guardando il comando che viene lanciato dal servizio. Se questo comando contiene il parametro —defaults-file= allora è necessario copiare la posizione di questo file prima di eseguire il comando successivo.
  4. Aprire il command prompt in modalità “Esegui come amministratore“.
  5. Eseguire il comando seguente impostando i valori dei due file come da istruzioni precedenti:
    mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file=c:\tmp\mysql-init.txt
  6. Fermare l’esecuzione del comando con CTRL+C.
  7. A questo punto il server è pronto per essere eseguito con il nuovo utente di root.