Comment changer le mot de passe de l'utilisateur root MySQL par terminal

Je connais un autre administrateur qui a oublié le mot de passe de la racine MySQL, cela peut être un réel inconvénient, non?

Imaginez que vous deviez créer une nouvelle base de données, faire quoi que ce soit et vous ne pouvez pas car vous ne vous souvenez pas du mot de passe de l'administrateur (root) du serveur MySQL, un vrai problème.

Ici, je vais vous montrer comment accéder au serveur MySQL via le terminal SANS définir le mot de passe root, afin qu'une fois à l'intérieur, vous puissiez changer le mot de passe root.

Article connexe:
Vérifiez les tables d'une base de données MySQL et réparez les fichiers corrompus

La première chose sera d'arrêter le service mysql:

Les deux commandes suivantes doivent être exécutées avec des privilèges administratifs, soit en définissant sudo au début de la commande ou en les exécutant directement comme racine

service mysql stop

Cela a arrêté le service, maintenant nous allons le démarrer mais d'une manière différente, d'une manière qui ne nous demandera pas un mot de passe plus tard:

mysqld_safe --skip-grant-tables &

Prêt, accédons maintenant au terminal MySQL:

mysql -u root

Ils verront qu'il n'a pas demandé de mot de passe, ils verront qu'ils sont déjà entrés dans la console ou le terminal MySQL et peuvent faire ce qu'ils veulent, procédons à la modification du mot de passe root MySQL.

Nous allons d'abord entrer dans la base de données MySQL en tant que telle:

use mysql;

Ensuite, changeons le mot de passe:

update user set password=PASSWORD("ElNuevoPassword") where user='root';

Maintenant, rafraîchissons les privilèges:

flush privileges;

Et enfin on sort:

quit;

Prêt, nous avons changé le mot de passe de l'utilisateur root MySQL, maintenant nous allons arrêter le service et le démarrer comme il se doit:

service mysql stop

service mysql start

fin

C'est tout, ils ont repris le contrôle de leur propre serveur MySQL


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   pétard dit

    Très bon conseil, merci

  2.   Chaparral dit

    Excellent, super!

  3.   FIXOCONNE dit

    attendre que ça m'arrive pour l'essayer, rien de bon

  4.   CrisXux dit

    Excellent

  5.   Gustavo Londono L. dit

    très bon article, un câlin !!

  6.   Ricardo dit

    Très utile, vous venez de me sortir d'une situation difficile. Je vous remercie.

  7.   poivre dit

    Très utile, vous m'avez sorti de la hâte, merci!

  8.   Jose dit

    Cette solution a fonctionné pour moi plusieurs fois, mais maintenant j'ai un moteur mysql nouvellement installé et j'essaye de définir le mot de passe, cependant cela me dit que le champ "mot de passe" n'existe pas, vérifiez la structure et le champ n'existe pas vraiment . Toute idée de comment résoudre ce problème?

  9.   Ignacio Farre dit

    Merci, vous m'avez sauvé en pouvant reprendre le contrôle de mon mysql ...

  10.   david dit

    J'ai travaillé sur dix mille grâce.

  11.   Javierfdez dit

    Eh bien, vous avez résolu mon problème. Je vous remercie!

  12.   fréquence dit

    Les 4 dernières étapes font la différence merci beaucoup

  13.   FuzzJS dit

    Merci, cela a très bien fonctionné pour moi, mais j'ai eu une erreur après la première commande avec le message suivant:

    Le répertoire mysqld_safe '/ var / run / mysqld' pour le fichier socket UNIX n'existe pas

    La création du répertoire a résolu le problème et j'ai pu terminer le changement de mot de passe, je partage les commandes au cas où cela arriverait à quelqu'un.

    mkdir -p / var / run / mysqld
    chown mysql: mysql / var / run / mysqld

  14.   ANNE JULIA dit

    Trop bon

  15.   Giuseppe dit

    Merci beaucoup pour l'article.
    Cela m'a aidé à récupérer les bases de données de test d'un Raspberry Pi dans lequel j'ai installé un serveur LAMP depuis longtemps.