Vous pouvez réinitialiser le mot de passe root en exécutant le serveur avec --skip-grant-tables
et connectez-vous sans mot de passe en exécutant ce qui suit en tant que root (ou avec sudo) :
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Vous devriez maintenant pouvoir vous connecter en tant que root avec votre nouveau mot de passe.
Il est également possible de trouver la requête qui réinitialise le mot de passe dans /home/$USER/.mysql_history
ou /root/.mysql_history
de l'utilisateur qui a réinitialisé le mot de passe, mais ce qui précède fonctionnera toujours.
Remarque :avant MySQL 5.7, la colonne s'appelait password
au lieu de authentication_string
. Remplacez la ligne ci-dessus par
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';