Définition du mot de passe de l’utilisateur root MySQL sur OS X

Je viens d’installer MySQL sur Mac OS X. L’étape suivante consistait à définir le mot de passe de l’utilisateur root. Je l’ai donc fait ensuite:

  1. Lancez l’application du terminal pour accéder à la ligne de commande Unix.
  2. Sous l’invite Unix, j’ai exécuté les commandes suivantes:

    $ cd /usr/local/mysql/bin $ ./mysqladmin -u root password 'password' 

Mais quand j’exécute la commande

$ ./mysql -u root , c’est la réponse:

 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 224 Server version: 5.5.13 MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 

Je peux entrer dans la ligne de commande mysql sans mot de passe!

Pourquoi est-ce?

Essayez la commande FLUSH PRIVILEGES lorsque vous vous connectez au terminal MySQL. Si cela ne fonctionne pas, essayez le jeu de commandes suivant dans le terminal MySQL

 $ mysql -u root mysql> USE mysql; mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> quit 

Remplacez NEWPASSWORD par le mot de passe de votre choix. Devrait être tout ensemble!

Mise à jour : Depuis MySQL 5.7, le champ password a été renommé authentication_ssortingng . Lors de la modification du mot de passe, utilisez la requête suivante pour modifier le mot de passe. Toutes les autres commandes restnt les mêmes:

 mysql> UPDATE user SET authentication_ssortingng=PASSWORD("NEWPASSWORD") WHERE User='root'; 

Si vous ne vous souvenez plus du mot de passe que vous avez défini pour root et que vous devez le réinitialiser, procédez comme suit:

  1. Arrêtez le serveur mysqld, cela varie par installation
  2. Exécuter le serveur en mode sans échec avec contournement de privilèges

sudo mysqld_safe --skip-grant-tables;

  1. Dans une nouvelle fenêtre, connectez-vous à la firebase database, définissez un nouveau mot de passe et videz les permissions et quittez:

mysql -u root

Pour MySQL plus ancien que MySQL 5.7, utilisez:

UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';

Pour MySQL 5.7+, utilisez:

USE mysql;

UPDATE mysql.user SET authentication_ssortingng=PASSWORD("your-password") WHERE User='root';

Rafraîchir et quitter:

FLUSH PRIVILEGES;

\q

  1. Arrêtez le serveur en mode sans échec et redémarrez votre serveur standard. Le nouveau mot de passe devrait fonctionner maintenant. A fonctionné à merveille pour moi 🙂

Une fois MySQL installé, vous devrez établir le mot de passe “root”. Si vous n’établissez pas de mot de passe root, il n’y a pas de mot de passe root et vous n’avez pas besoin de mot de passe pour vous connecter.

Cela dit, vous devez établir un mot de passe root.

En utilisant le terminal, entrez ce qui suit:

Installation: Définir le mot de passe de l’utilisateur root:

 /usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE 

Si vous avez commis une erreur ou si vous devez modifier le mot de passe root, procédez comme suit:

Changer le mot de passe root:

 cd /usr/local/mysql/bin/ ./mysql -u root -p > Enter password: [type old password invisibly] use mysql; update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root'; flush privileges; quit 

Les instructions fournies sur le site mysql sont tellement claires que celles mentionnées ci-dessus

 1. sudo /usr/local/mysql/support-files/mysql.server stop 2) sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables 3) /usr/local/mysql/support-files/mysql 4) mysql> FLUSH PRIVILEGES; 5) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; 6) Ctrl + z 7) sudo /usr/local/mysql/support-files/mysql.server start 8) /usr/local/mysql/support-files/mysql -u root -p 9) enter the new password ie MyNewPass 

http://dev.mysql.com/doc/refman/5.7/fr/resetting-permissions.html

  1. Arrêtez le serveur mysqld.

    • Mac OSX: System Preferences > MySQL > Stop MySQL Server
    • Linux (à partir du terminal): sudo systemctl stop mysqld.service
  2. Démarrer le serveur en mode sans échec avec contournement de privilèges

    • A partir du terminal: sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  3. Dans une nouvelle fenêtre de terminal:

    • sudo /usr/local/mysql/bin/mysql -u root
  4. Cela ouvrira la ligne de commande mysql. De là, entrez:

    • UPDATE mysql.user SET authentication_ssortingng=PASSWORD('NewPassword') WHERE User='root';

    • FLUSH PRIVILEGES;

    • quit

  5. Arrêtez le serveur mysqld et redémarrez-le en mode normal.

    • Mac OSX (à partir du terminal): sudo /usr/local/mysql/support-files/mysql.server restart
    • Terminal Linux: sudo systemctl restart mysqld

Pour le nouveau Mysql 5.7 pour certaines raisons bin commandes de Mysql pas attaché au shell:

  1. Redémarrez le Mac après l’installation.

  2. Démarrez Mysql:

    Préférences Système> Mysql> Bouton Démarrer

  3. Allez dans le dossier d’installation de Mysql dans le terminal:

    $ cd /usr/local/mysql/bin/

  4. Accès à Mysql:

    $ ./mysql -u root -p

et entrez le mot de passe initial donné à l’installation.

  1. Dans le terminal de Mysql, changez le mot de passe:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

Dans le terminal, écrivez mysql -u root -p et appuyez sur Entrée. Entrez le mot de passe mysql actuel que vous devez avoir noté. Et définissez le mot de passe SET PASSWORD = PASSWORD('new_password');

Veuillez vous reporter à cette documentation ici pour plus de détails.

Si vous avez oublié le mot de passe root de MySQL, vous ne pouvez pas vous rappeler ou vouloir entrer… vous pouvez réinitialiser le mot de passe de la firebase database mysql à partir de la ligne de commande sous Linux ou OS X tant que vous connaissez le mot de passe de l’utilisateur root. tu es sur:

(1) Arrêtez MySQL

 sudo /usr/local/mysql/support-files/mysql.server stop 

(2) Démarrer en mode sans échec:

 sudo mysqld_safe --skip-grant-tables 

(3) Ce sera une commande continue jusqu’à ce que le processus soit terminé alors ouvrez une autre fenêtre de shell / terminal , connectez-vous sans mot de passe:

 mysql -u root UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; 

Dans la commande UPDATE ci-dessus, remplacez simplement le mot de passe par votre nouveau mot de passe, veillez à conserver les guillemets

(4) économiser et tout à fait

 FLUSH PRIVILEGES; \q 

(5) Démarrer MySQL

 sudo /usr/local/mysql/support-files/mysql.server start 

Quand j’ai installé OS X Yosemite, j’ai eu un problème avec Mysql. J’ai essayé beaucoup de méthodes mais aucune n’a fonctionné. J’ai en fait trouvé un moyen assez facile. Essayez ceci.

  1. Connectez-vous d’abord au terminal à partir des privilèges su.

sudo su

  1. arrêtez mysql

sudo /usr/local/mysql/support-files/mysql.server stop

  1. commencer en mode sans échec:

sudo mysqld_safe --skip-grant-tables

  1. ouvrir un autre terminal, connectez-vous en tant que privilèges su, connectez-vous mysql sans mot de passe

mysql -u root

  1. changer le mot de passe

UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

  1. privilèges de vidage

FLUSH PRIVILEGES;

  1. Vous avez fini maintenant

Si vous ne vous souvenez plus de votre mot de passe, la réponse de @robtek a fonctionné pour moi, sauf que dans mon cas, j’avais installé MySQL en utilisant le armseur, ce qui signifiait que les étapes 1 et 2 de sa réponse devaient être remplacées par:

  1. /usr/local/bin/mysql.server stop

  2. /usr/local/bin/mysqld_safe --skip-grant-tables

Note: le manque de sudo .

Arrêter le serveur MySQL

sudo /usr/local/mysql/support-files/mysql.server stop

Démarrer MySQL en mode sans échec

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

Changer le mot de passe root

/usr/local/mysql/bin/mysql -u root

 use mysql; UPDATE user SET authentication_ssortingng=PASSWORD('NEW_PASSWORD') WHERE user='root'; FLUSH PRIVILEGES; exit 

Essai

Exécutez /usr/local/mysql/bin/mysql -u root

Maintenant, entrez le nouveau mot de passe pour commencer à utiliser MySQL.

Si vous avez oublié votre mot de passe ou si vous voulez le changer pour votre mysql:

  1. démarrez votre terminal et entrez:
 sudo su 
  1. Entrez le pass pour votre système
  2. Arrêtez votre mysql:
 sudo /usr/local/mysql/support-files/mysql.server stop 
  1. Quittez cette fenêtre OPEN, lancez la deuxième fenêtre du terminal et entrez ici:
 mysql -u root 
  1. Et changez votre mot de passe pour mysql:
 UPDATE mysql.user SET authentication_ssortingng=PASSWORD('new_password') WHERE User='root'; 

où “new_password” – votre nouvelle passe. Vous n’avez pas besoin de vieux pass pour mysql.

  1. Rincez, quittez et vérifiez votre nouvelle passe:
 FLUSH PRIVILEGES; 
  1. Fermez toutes les fenêtres et vérifiez votre nouvelle passe pour mysql. Bonne chance.

C’est exactement ce qui a fonctionné pour moi:

  1. Assurez-vous qu’aucun autre processus MySQL n’est en cours d’exécution. Pour ce faire, procédez comme suit:

      a.From the terminal, run this command: lsof -i:3306 If any PID is returned, kill it using kill -9 PID b. Go To System Preferences > MySQL > check if any MySQL instances are running, stop them. 
  2. Démarrez MySQL avec la commande:

     sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 
  3. Le mot de passe de chaque utilisateur est stocké dans la table mysql.user sous les colonnes User et authentication_ssortingng, respectivement. Nous pouvons mettre à jour le tableau comme suit:

     UPDATE mysql.user SET authentication_ssortingng='your_password' where User='root' 

Beaucoup de choses ont changé pour MySQL 8. La modification suivante de la documentation MySQL 8.0 “Comment réinitialiser le mot de passe root” fonctionne avec Mac OS X.

Créez un fichier temporaire $HOME/mysql.root.txt avec le SQL pour mettre à jour le mot de passe root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

Ceci utilise mysql_native_password pour éviter que le plugin Authentication ‘caching_sha2_password’ ne puisse être chargé , ce que j’obtiens si j’omets cette option.

Arrêtez le serveur, commencez par l’option --init-file pour définir le mot de passe root, puis redémarrez le serveur:

mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start