[Mysql] [Mariadb] : réinitialiser le mot de passe root (faut pas le dire)

Print Friendly, PDF & Email

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';
hacker screen

Photo by Markus Spiske freeforcommercialuse.net on Pexels.com

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

 

Découvrez  [Mysql] : comment générer le sql pour recréer un table ?