Si vous avez défini et oublié par inadvertance le mot de passe root, et que vous ne voulez pas effacer toutes vos bases de données et recommencer parce que vous êtes paresseux et que vous avez oublié d'avoir une solution de sauvegarde en place, et que vous utilisez une installation Homebrew assez récente (Hiver 2013), voici les étapes pour réinitialiser votre mot de passe pour MySQL.
Arrêtez l'instance MySQL en cours d'exécution
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Maintenant, démarrez mysql à la main en sautant les tables de subventions et la mise en réseau
$(brew --prefix mysql)/bin/mysqld_safe --skip-grant-tables --skip-networking
Notez que si lorsque vous exécutez echo $ (brew --prefix mysql) et qu'il ne répond pas comme "/ usr / local / opt / mysql" dans bash, vous devrez ajuster le chemin en conséquence.
Une fois que vous avez fait cela, vous devriez maintenant avoir une instance MySQL en cours d'exécution et non protégée.
Connectez-vous et définissez le mot de passe
mysql -u root
À l'invite, entrez la commande MySQL suivante pour définir un nouveau mot de passe pour l'utilisateur concerné.
mysql> update mysql.user set password=PASSWORD('new_password_here') WHERE user='root';
Si tout se passe comme prévu, il devrait dire:
Query OK, 1 row affected (0.02 sec)
Rows matched: 4 Changed: 1 Warnings: 0
Quittez l'invite MySQL.
mysql> exit
Bye
Arrêter le serveur:
mysqladmin -u root shutdown
Maintenant, remettons le démon de lancement afin que notre MySQL soit à nouveau prêt:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Toutes nos félicitations. Vous venez de réinitialiser votre mot de passe root mysql. Versez-vous un café et mettez en place une solution de secours!