Come cambiare la password dell’utente root di MySQL

Istruzioni su come cambiare la password dell'utente root di MySql da phpMyAdmin oppure dalla command-line utility mysqladmin di XAMPP.
immagine dell'autore dell'articolo

Scritto da: Alberto

Una vita nell'informatica, per lavoro e per passione.
agsdix-far fa-calendar-alt
Data pubblicazione: 17 Ottobre 2017
Categorie: MySQL | XAMPP
agsdix-far fa-comments

Se si desidera cambiare la password dell’utente root di MySql in locale, ad esempio dopo aver installato MySql con XAMPP, si possono utilizzare più metodi:

1. Cambiare la password dell’utente root di MySql da phpMyAdmin

  • Aprire un browser ed accedere a phpMyAdmin inserendo l’indirizzo http://localhost/phpmyadmin
  • sulla home page cliccare sul tag Account utenti. Viene visualizzata la lista degli utenti, in cui compare tre volte l’utente ‘root’.
phpMyAdmin - Link modifica privilegi account utente
fig.1 – phpMyAdmin – Link Modifica privilegi
  • iniziare con il primo utente e cliccare sul link Modifica privilegi. Viene visualizzata una nuova finestra:
phpMyAdmin - bottone Cambia password
fig.2 – phpMyAdmin – Bottone Cambia password
  • cliccare sul bottone Cambia password. Viene visualizzato un riquadro per il cambio password:
phpMyAdmin - impostare una nuova password
fig.3 – phpMyAdmin – Resettare la password
  • è possibile generare una password sicura cliccando sul bottone Genera; in alternativa scegliere una propria password, inserendo una combinazione di lettere maiuscole, minuscole e numeri (mentre la password viene digitata, phpMyAdmin ne indica la robustezza con una barra colorata);
  • Cliccare sul bottone Esegui (a destra, in fondo alla pagina). phpMyAdmin elabora la richiesta e presenta l’esito.
  • Ripetere l’operazione anche per gli altri due account root.

Reimpostare la password per phpMyAdmin

Il primo effetto della modifica sarà che phpMyAdmin non potrà più accedere al database (se utilizza allo scopo l’utente root); bisogna quindi modificare il file di configurazione di phpMyAdmin config.inc.php (se MySQL è stato installato con XAMPP si troverà nella directory C:\xampp\phpMyAdmin\config.inc.php).

  • Ricercare e modificare il parametro “password”:
$cfg['Servers'][$i]['password'] = 'nuova_password'
  • salvare il file e ricaricare la pagina di phpMyAdmin.

2. Cambiare la password dell’utente root di MySql da mysqladmin

XAMPP fornisce un metodo alternativo per cambiare la password dell’utente root di MySQL:

  • Aprire un browser ed inserire l’indirizzo http://localhost;
  • Nella finestra di benvenuto di XAMPP, cliccare sul link HOW-TO Guides;
  • Cliccare sul link Reset the MySQL/MariaDB Root Password;
  • Seguire le istruzioni fornite.

3. Cambiare la password dell’utente root di MySql conoscendo l’attuale

  • aggiornamento dell’agosto 2021: MySQL ha introdotto una limitazione sulla modifica del database mysql. Se si prova ad utilizzare questo metodo, si ottiene un errore "#1348 - Column 'Password' is not updatable". Utilizzare il primo o il secondo metodo.
  • In questo caso è possibile accedere a http://localhost/phpmyadmin e cliccare sul tab “SQL”;
  • inserire le seguenti istruzioni e cliccare sul bottone esegui (la modifica verrà applicata a tutti gli utenti root: root@localhost, root@::1 e root@127.0.0.1):
UPDATE `mysql`.`user` SET `Password` = PASSWORD('nuova_password') WHERE `User`='root'; FLUSH PRIVILEGES;
  • riavviare il server MySQL.

4. Modificare la password dell’utente root di MySql se non si conosce l’attuale

  • aggiornamento dell’agosto 2021: MySQL ha introdotto una limitazione sulla modifica del database mysql. Se si prova ad utilizzare questo metodo, si ottiene un errore "#1348 - Column 'Password' is not updatable". Utilizzare il primo o il secondo metodo.

In questo caso è necessario agire direttamente da linea di comando. Procedere come segue.

Con sistema operativo Windows:

  • Fermare il server MySQL.
  • Aprire una finestra di comando (ad esempio premendo contemporaneamente il tasto Start (in basso a sinistra nella tastiera) e il tasto R e poi scrivendo “cmd”, seguito da invio.
  • Posizionarsi nella directory dov’è installato MySQL (C:\xampp\mysql\bin se si è installato MySQL con XAMPP) e avviare il server MySQL bypassando l’autenticazione. Allo scopo digitare il comando: mysqld --skip-grant-tables
  • Aprire una seconda finestra di comando, posizionarsi nella stessa directory  e accedere come utente root tramite il comando: 
    mysql -u root
  • attendere il prompt di risposta di MySQL, quindi impostare la nuova password inserendo (uno alla volta) gli stessi comandi visti in precedenza:
    UPDATE `mysql`.`user` SET `Password` = PASSWORD('nuova_password') WHERE `User`='root';
    FLUSH PRIVILEGES;
  • attendere la risposta di MySQL, quindi uscire da MySQL: exit
  • Chiudere entrambe le finestre di comando e riavviare il server MySQL.

Con sistema operativo Linux (Ubuntu)

  • Fermare il server MySQL.
  • Aprire un terminale.
  • Posizionarsi nella directory dov’è installato mysqld (/opt/lampp/sbin se si è installato MySQL con XAMPP) e avviare il server MySQL bypassando l’autenticazione. Allo scopo digitare il comando: sudo ./mysqld --skip-grant-tables
  • Aprire un secondo terminale, posizionarsi nella directory dov’è installato mysql (/opt/lampp/bin se si è installato MySQL con XAMPP) e accedere come utente root tramite il comando: sudo ./mysql -u root
  • attendere il prompt di risposta di MySQL, quindi impostare la nuova password inserendo (uno alla volta) gli stessi comandi visti in precedenza: UPDATE `mysql`.`user` SET `Password` = PASSWORD('nuova_password') WHERE `User`='root'; FLUSH PRIVILEGES;
  • attendere la risposta di MySQL, quindi uscire da MySQL: exit
  • Riavviare il server MySQL (ad esempio da pannello di controllo di XAMPP).
  • Chiudere i due terminali.

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *