165 votes

Mot de passe root mysql homebrew macOSX

Pour une raison quelconque, MySQL a cessé de donner accès à root. Désinstallé et réinstallé avec Homebrew. Nouvelle installation, nouvelles tables mais quand j'entre

 mysql -u root -p

J'obtiens cette erreur :

Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : NON)

J'ai réinstallé MySQL cinq fois mais il me demande toujours un mot de passe. Comment puis-je réparer ça?

202voto

stackPopper Points 109

Aucun de ceux-ci n'a fonctionné pour moi. Je pense que j'avais déjà mysql quelque part sur mon ordinateur, donc un mot de passe y a été défini ou quelque chose. Après avoir passé des heures à essayer toutes les solutions, voici ce qui a fonctionné pour moi :

 $ brew services stop mysql
$ pkill mysqld
$ rm -rf /usr/local/var/mysql/ # NOTE: this will delete your existing database!!!
$ brew postinstall mysql
$ brew services restart mysql
$ mysql -uroot

tout le crédit à @Ghrua

161voto

egermano Points 163

Exécutez simplement cette commande (où NEWPASS est votre mot de passe) :

 $(brew --prefix mysql)/bin/mysqladmin -u root password NEWPASS

J'ai eu la même erreur et je l'ai corrigé de cette façon.

66voto

Britto Points 386

J'ai eu le même problème il y a quelques jours. Cela se produit lorsque vous installez mysql via homebrew et exécutez le script d'initialisation ( mysql_install_db ) avant de démarrer le démon mysql

Pour y remédier, vous pouvez supprimer mysql fichiers de données, redémarrer le service puis exécuter le script d'initialisation :

 launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm -r /usr/local/var/mysql/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

58voto

Vous avez cette erreur après avoir installé mysql via home brew.

Supprimez donc d'abord l'installation. Puis réinstaller via Homebrew

 brew update
brew doctor
brew install mysql

Redémarrez ensuite le service mysql

  mysql.server restart

Exécutez ensuite cette commande pour définir votre nouveau mot de passe root.

  mysql_secure_installation

Enfin il demandera de recharger les privilèges. Dis oui. Ensuite, connectez-vous à nouveau à mysql. Et utilisez le nouveau mot de passe que vous avez défini.

 mysql -u root -p

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X