Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Appena installato il server MySql è probabile ricevere, al primo accesso, degli errori simili ai seguenti:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES
Questa guida illustra alcuni metodi utili alla risoluzione del problema in questione.
Reimpostare la password con il client MySql
Seguendo questa procedura verrà disabilitato l'accesso al server MySql.
Per resettare la propria password, innanzitutto è necessario riavviare il servizio per le basi di dati, digitando i seguenti comandi:
sudo /etc/init.d/mysql stop /usr/sbin/mysqld --skip-grant-tables --user=root
Adesso riavviare l'istanza server arrestata poco prima col comando:
sudo systemctl start mysql
Ora non rimane che reimpostare le password. A tale scopo è consigliato avviare il client mysql con il seguente comando:
mysql -u root
I comandi da digitare alla console del client variano a seconda del tipo di account che si desidera impostare:
Account utente:
SET PASSWORD FOR root@'localhost' = 'password'
In alternativa è possibile digitare i seguenti comandi:
USE mysql UPDATE user SET Password = PASSWORD('newpwd') WHERE Host = 'localhost' AND User = 'root';
Amministratore:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
In alternativa è possibile digitare i seguenti comandi:
USE mysql UPDATE user SET Password = PASSWORD('newpwd') WHERE Host = '%' AND User = 'root';
Prima di chiudere il client, è consigliato ricaricare tutte le tabelle, modificate dalle istruzioni precedenti, con il seguente comando:
FLUSH PRIVILEGES;
Infine, non rimane che fermare il servizio mysqld e riavviarlo nella modalità standard:
sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start
Dopo aver completato le operazioni sopra descritte, è di nuovo possibile accedere al server MySql con la password impostata nei passaggi precedenti.
Nei comandi su riportati è molto importante fare attenzione ai caratteri maiuscolo-minuscolo.
Cancellare tutte le password
Nel caso che le operazioni sopra descritte non fossero sufficienti per reimpostare la propria password, è possibile far ricorso ad un metodo più drastico ma di sicuro successo.
Le seguenti istruzioni rimuoveranno tutte le configurazioni relative al proprio server, nonchè i dati memorizzati in esso. Usare con cautela.
È necessario reinstallare tutti i pacchetti del programma, rimuovendo i dati memorizzati sul server. A tale scopo, digitare i seguenti comandi:
sudo apt-get --purge remove mysql-server mysql-common mysql-client sudo apt-get install mysql-server mysql-common mysql-client
Ora non rimane che accedere al server con i privilegi di amministratore. Digitare i seguenti comandi:
mysqladmin -u root password tua-nuova-password sudo /etc/init.d/mysql restart mysql -u root -p