Changer le mot de passe root de MySQL

J’ai essayé l’autre jour de me connecter en root à mon Serveur MySQL local fournit par LAMPP mais force était de me rendre compte que j’avais oublié mon mot de passe. J’ai donc chercher le moyen de réinitialiser celui ci sans utiliser la méthode simple du « j’enlève  LAMPP et j’en remet un neuf ».

Il existe plusieurs manières de procéder. Ce que je décris ici cependant ne fonctionne qu’avec une installation classique de MySQL. Il faudra l’adapter si vous avez un LAMPP installé dans /opt/ par exemple.

  • On peut suivre point par point la documentation officielle.
  • On peut aussi procéder de manière à ne pas prendre en compte le réseau. Ceci n’est réellement utile que lorsque les bases de données sont accessibles depuis l’extérieur. (Bouh c’est pas bien, il ne faut jamais faire ça) :
    • Arrêter sa base de donnée MySQL à l’aide de la commande :
      /etc/init.d/mysql stop
    • Lancer MySQL en désactivant l’authentification et l’écoute réseau :
      mysqld --skip-grant-tables --skip-networking &
    • Se connecter à sa base de données :
      mysql -u root
    • Réinitialiser le mot de passe root:
      UPDATE user SET password=PASSWORD('<NOUVEAU_MOT_DE_PASSE') WHERE user="root";
    • Quitter MySQLpuis redémarrer :
      /etc/init.d/mysql restart

Revoilà alors une base de données avec un mot de passe root tout neuf.

Récupérer les mots de passe tapés et enregistrés dans FileZilla

Lors de la réinstallation de mes systèmes d’exploitation, j’ai voulu réenregistré tous les mots de passe que j’avais tapé dans FileZilla afin de pouvoir accéder à mes FTP sur ma machine fraîchement remise à neuve. J’ai donc commencer à taper tous mes identifiants à la main puis je suis tombé sur une connexion dont je ne me souvenais plus du mot de passe. J’ai donc cherché comment je pourrais récupérer cette information.

Après quelques recherches, j’ai trouvé une solution qui me permettait de récupérer tout ce que j’avais tapé dans FileZilla mais aussi de ne pas avoir à tout retaper dans ma nouvelle installation.

Il suffit ainsi simplement de faire Fichier -> Exporter les paramètres sur le premier FileZilla. Il faut cocher toutes les options d’export. Ceci génère un fichier XML qui contient en clair tous les mots de passe qui ont été tapés.

Il ne reste qu’à faire Fichier -> Importer les paramètres dans le second FileZilla pour importer le fichier généré et se retrouver avec tout disponible comme avant.

Changer le mot de passe d’un utilisateur MySQL

Je viens juste de me retrouver dans le cas où j’avais oublié le mot de passe d’un de mes utilisateur MySQL. Il fallait donc que je puisse soit le retrouver, mais je n’ai pas le temps de m’amuser à faire du brute force sur des hash surtout que je sais que le mot de passe que j’ai mis est extrêmement long, soit le changer.

Vu que l’utilisateur root n’est pas là que pour créer des BDD et des utilisateurs, il faut bien s’en servir. On va donc commencer par se connecter avec cet utilisateur à l’aide de la commande :

mysql -u root -p

Une fois la connexion effectuée, on va utiliser la base de donnée qui sert à la gestion de MySQL à savoir : mysql …

USE mysql;

On procède ensuite au changement de mot de passe à l’aide de la commande UPDATE :

UPDATE user SET password=PASSWORD('<NOUVEAU_MOT_DE_PASSE>') WHERE user='<NOM_DE_L_UTILISATEUR_DONT_ON_VEUT_CHANGER_LE_MDP>';

On applique ensuite les changement à l’aide de la commande :

FLUSH PRIVILEGES;

D’autres manières de faire existent dans la documentation officielle en fonction des versions/besoins.