7

réinitialiser le mot de passe root oublié pour MariaDB ou MySql serveur en 5 étapes

Un mémo sur comment réinitialiser le mot de passe root oublié du serveur de base de données MariaDB ou MySQL.

mariadb_mysql

Méthode avec systemd

  • Redémarrer le service MySQL en mode --skip-grant-tables :
  • systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
    systemctl restart mariadb
    

    Plus besoin de mot de passe dans ce mode pour se connecter au serveur !

  • Définir un nouveau mot de passe avec la commande mysql_secure_installation:
    mysql_secure_installation
    • Autres méthodes à l’aide d’instructions SQL :
      • Se connecter au serveur avec la commande mysql :
      • mysql
      • Ensuite, plusieurs façons de faire pour changer le mot de passe :
        • Une première méthode :
        • SET PASSWORD FOR root@'localhost'=PASSWORD('mon_nouveau_mot-de_passe');
        • ou :
        • UPDATE mysql.user SET password=PASSWORD('mon_nouveau_mot_de_passe') WHERE User='root' AND Host = 'localhost';
          FLUSH PRIVILEGES;
          
        • ou :
        • GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'mon_nouveau_mot_de_passe';
  • Redémarrer le service en désactivant le mode --skip-grant-tables :
    systemctl unset-environment MYSQLD_OPTS
    systemctl restart mariadb
    

    source : http://www.dsfc.net/logiciel-libre/mysql-logiciel-libre/perte-mot-de-passe-root-mysql-mariadb/

    Ancienne méthode

    Toutes les étapes sont éxécutées en tant que root.

    Réinitialiser le mot de passe root de MariaDB ou MySql serveur

    • Etape 1
    • Arréter le service MySql:

      service mysql stop
      

      ou

      service mysqld stop
      
    • Etape 2
    • Démarrer le serveur MySql sans aucun mot de passe:

      mysqld_safe --skip-grant-tables &
      
    • Etape 3
    • Se connecter à Mysql

      mysql -u root
      
    • Etape 4
    • Choisir la base de donnée mysql, mettre à jour le mot de passe root puis recharger les prévilèges:

      use mysql;
      update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
      flush privileges;
      quit
      
    • Etape 5
    • Redémarrer le serveur MySql:

      service mysql restart
      

      Ou

      service mysqld restart
      

    A ce stade il est de nouveau possible de se connecter sur le serveur MySql avec le nouveau mot de passe root.

    Actuce sous Debian et Ubuntu!

    Sous les distributions Debian et Ubuntu, il existe un compte d’administrateur de secour: debian-sys-maint.
    Le mot de passe associé à ce compte se trouve dans le fichier /etc/mysql/debian.cnf.

    source

Partager l'article :





fred

« Dire que l’on s’en fiche du droit à la vie privée sous prétexte qu’on a rien à cacher, c’est comme déclarer que l’on se fiche du droit à la liberté d’expression sous prétexte qu’on a rien à dire. » Edward Snowden

7 Comments

  1. Bonjour,
    pouvoir changer le mot de passe, c’est bien, mais quel est le nom d’utilisateur par défaut de Mariadb ?
    Le mot de passe m’a été demandé à l’instal, mais le nom d’utilisateur, je ne sais pas du tout, j’ai essayé avec mon nom tel qu’il apparait sur l’ordi, mais pas moyen …
    J’ai Ubuntu 14 04 sur un portable récent, de ce fait je ne peux pas utiliser Laurux
    Est ce que quelqu’un peut m’aider
    Merci d’avance
    Gilbert

  2. Le login par défaut est root, c’est même indiqué à l’étape 4 :
    [code lang= »shell »]
    update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=’root’;
    [/code]

  3. Merci, je croyais que « root » était un terme générique qu’il fallait remplacer par le nom d’un utilisateur …
    Il me manque des bases …

  4. nom d’utlisateur n’apparaît pas dans le fichier sudoers. Cet événement sera signalé.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *