Les DBA ne sont pas des personnes parfaites, au même titre que d’autres. Cela arrive de perdre un mot de passe et même si le mot de passe est celui du user root. Bon c’est quand même bien embêtant je l’avoue, ça fait pas très pro.
Réinitialiser le mot de passe est souvent la seule solution. Voici une des solutions possible :
sudo /etc/init.d/mysql stop sudo mysqld_safe --skip-grant-tables & mysql> use mysql; mysql> update user set authentication_string=password('monnouveaumotdepasse') where user='root';
Une autre solution en passant par systemd :
# on relance mysql sans les GRANTS sur les tables systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" systemctl restart mysql # puis on set le nouveau mot de passe UPDATE mysql.user SET password=PASSWORD('monouveaumotdepasse') WHERE User='root' AND Host = 'localhost'; FLUSH PRIVILEGES; #et surtout sinon tu es mort tu remets les permissions en place merci ! systemctl unset-environment MYSQLD_OPTS systemctl restart mysql