Définir le mot de passe utilisateur MySQL root sur OS X

je viens d'installer MySQL sur Mac OS X. La prochaine étape était de définir le mot de passe de l'utilisateur root, donc je l'ai fait ensuite:

  1. Lancez l'application terminal pour accéder à la ligne de commande Unix.
  2. sous l'invite Unix j'ai exécuté ces commandes:

    $ 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 accéder à la ligne de commande mysql sans mot de passe!

pourquoi?

193
demandé sur TRiG 2011-06-25 03:37:56

14 réponses

essayez la commande FLUSH PRIVILEGES lorsque vous vous connectez au terminal MySQL. Si cela ne fonctionne pas, essayez l'ensemble 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

changez NEWPASSWORD avec le mot de passe que vous voulez. Devrait être tous ensemble!

Update : depuis MySQL 5.7, le champ password a été renommé authentication_string . En changeant le mot de passe, Utilisez la requête suivante pour changer le mot de passe. Toutes les autres commandes restent les mêmes:

mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
291
répondu Scott 2017-02-20 07:00:34

si vous ne vous souvenez pas du mot de passe que vous avez défini pour root et que vous devez le réinitialiser, suivez ces étapes:

  1. Arrêter le serveur mysqld, cela varie en fonction de l'installer
  2. Exécuter le serveur en mode sans échec avec privilège bypass

sudo mysqld_safe --skip-grant-tables;

  1. dans une nouvelle fenêtre, connectez-vous à la base de données, définissez un nouveau mot de passe et effacez les permissions et quittez:

mysql -u root

De MySQL plus ancienne que MySQL 5.7 utilisation:

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

Pour MySQL 5.7+ utilisation:

USE mysql;

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

de Rafraîchissement et de la quitter:

FLUSH PRIVILEGES;

\q

  1. arrêtez le serveur en mode de sécurité et redémarrez votre serveur régulier. Nouvelle mot de passe devrait maintenant fonctionner. Travaillé comme un charme pour moi:)
174
répondu radtek 2017-08-25 16:32:21

une fois que vous aurez installé MySQL, vous devrez établir le mot de passe" root". Si vous n'établissez pas de mot de passe root, alors, il n'y a pas de mot de passe root, et vous n'avez pas besoin de mot de passe pour vous connecter.

Alors, cela étant dit, vous devez établir un mot de passe root.

utiliser le terminal inscrire ce qui suit:

Installation: mot de passe de l'utilisateur root:

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

Si vous avez fait une erreur, ou besoin de changer le mot de passe root utiliser ce qui 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
84
répondu bob 2012-04-16 22:35:23

les instructions fournies dans le site Web mysql sont tellement claires, que le mentionné 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 i.e MyNewPass

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

37
répondu Ankireddy Polu 2016-08-10 23:02:04
  1. Arrêter le serveur mysqld.

    • Mac OSX: System Preferences > MySQL > Stop MySQL Server
    • Linux (Du Terminal): sudo systemctl stop mysqld.service
  2. Démarrer le serveur en mode sans échec avec privilège bypass

    • Du Terminal: sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  3. Dans un nouvelle fenêtre de terminal:

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

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

    • FLUSH PRIVILEGES;

    • quit

  5. arrêtez à nouveau le serveur mysqld et redémarrez-le en mode normal.

    • Mac OSX (du Terminal): sudo /usr/local/mysql/support-files/mysql.server restart
    • Terminal Linux: sudo systemctl restart mysqld
35
répondu imbond 2018-05-20 21:38:00

Pour Mysql 5.7 pour une raison quelconque bin commandes de Mysql n'est pas attachée à la coque:

  1. redémarrez le Mac après l'installation.

  2. Démarrer Mysql:

    Préférences Système > Mysql > bouton de Démarrage

  3. allez dans le dossier D'installation Mysql dans le terminal:

    $ cd /usr/local/mysql/bin/

  4. accès à Mysql:

    $ ./mysql -u root -p

et entrer le mot de passe initial donné à l'installation.

  1. Dans Mysql terminal de changer de mot de passe:

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

20
répondu Deoxyseia 2018-01-11 15:11:23

dans le terminal, écrivez mysql -u root -p et appuyez sur Retour. Saisissez le mot de passe mysql actuel que vous avez dû noter. Et le mot de passe SET PASSWORD = PASSWORD('new_password');

s'il vous Plaît se référer à cette documentation ici pour plus de détails.

15
répondu Nitish Pareek 2016-07-04 11:33:41

si vous avez oublié le mot de passe MySQL root, vous ne pouvez pas vous souvenir ou vous voulez entrer par effraction..... vous pouvez réinitialiser le mot de passe de la base de données mysql à partir de la ligne de commande dans Linux ou OS X aussi longtemps que vous connaissez le mot de passe de l'utilisateur root de la boîte sur laquelle vous êtes:

(1) Stop 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é ainsi ouvrir un autre fenêtre 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, il suffit de remplacer le mot de passe par votre nouveau mot de passe, assurez-vous de garder les guillemets

(4) Enregistrer et tout à fait

FLUSH PRIVILEGES;

\q

(5) Start MySQL

sudo /usr/local/mysql/support-files/mysql.server start
10
répondu Homam Bahrani 2015-02-19 12:54:17

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 effectivement trouvé un assez facilement. Essayez ceci.

  1. première connexion au terminal de su privileges.

sudo su

  1. stop mysql

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

  1. démarrer en mode sans échec:

sudo mysqld_safe --skip-grant-tables

  1. ouvrir une autre terminal, se connecter comme su privilèges que, se connecter 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. flush privileges

FLUSH PRIVILEGES;

  1. Vous avez terminé maintenant
5
répondu Prem Timsina 2015-12-01 16:09:54

si vous ne vous souvenez pas de votre mot de passe, la réponse de @radtek a fonctionné pour moi sauf que dans mon cas j'avais mis en place MySQL en utilisant brew ce qui signifie que les étapes 1 et 2 de sa réponse a dû être changée en:

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

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

Note: le manque de sudo .

2
répondu schminnie 2018-01-19 07:07:25

Arrêt Du Serveur MySQL

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

Démarrage de 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_string=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
exit

test

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

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

2
répondu Shreyas 2018-04-20 09:13:29

Si vous avez oublié votre mot de passe ou souhaitez modifier votre mysql:

  1. démarrer votre terminal et entrer:
sudo su
  1. entrer passe pour vous Système
  2. Stop mysql:
sudo /usr/local/mysql/support-files/mysql.server stop
  1. laisser cette fenêtre ouverte, exécuter deuxième fenêtre de terminal et entrer ici:
mysql -u root
  1. et changer votre mot de passe pour mysql:
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';

où "new_password" - votre nouvelle passe. Vous n'avez pas besoin de vieux passe pour mysql.

  1. Flush, arrêter et vérifier votre nouveau mot de passe:
FLUSH PRIVILEGES;
  1. fermez toutes les fenêtres et vérifiez votre nouvelle carte pour mysql. Bonne chance.
1
répondu Александр Юшко 2017-12-22 23:34:42

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

  1. assurez-vous qu'aucun autre processus MySQL n'est en cours.To check this do the

     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émarrer MySQL avec la commande:

    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    
  3. le mot de passe pour chaque utilisateur est stocké dans le mysql.tableau des utilisateurs colonnes User et authentication_string respectivement. Nous pouvons mettre à jour le table comme:

    UPDATE mysql.user SET authentication_string='your_password' where User='root'
    
1
répondu sgs 2018-07-25 08:06:35

beaucoup de choses ont changé pour MySQL 8. J'ai trouvé la modification suivante du MySQL 8.0 "Comment réinitialiser le mot de passe racine "documentation fonctionne avec Mac OS X.

créer 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 '<new-password>';

cela utilise mysql_native_password pour éviter le plugin D'authentification 'caching_sha2_password' ne peut pas être chargé erreur, ce que j'obtiens si j'oublie l'option.

arrêter le serveur, démarrer avec une option --init-file pour définir le mot de passe root, puis redémarrer le serveur:

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

0
répondu djb 2018-08-03 15:08:54