J'essaie de définir le mot de passe root pour MySQL dans le terminal de Mac OS X Lion et j'ai des problèmes. Chaque fois que j'utilise la ligne:
/usr/local/mysql/bin/mysqladmin -u root password ****** (where ****** is the password I want to set)
Je reçois l'erreur:
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Je n'ai pas encore défini de mot de passe, donc je ne sais pas pourquoi je reçois cette erreur.
Voici la procédure pour réinitialiser le mot de passe de l'utilisateur root.
1) Arrêtez mysql (tuez le processus mysql ou exécutez la commande suivante)
Sudo /usr/local/mysql/support-files/mysql.server stop
2) Démarrez-le en mode sans échec
Sudo mysqld_safe --skip-grant-tables
3) Ouvrez un autre terminal et exécutez la commande suivante (Gardez le dernier terminal ouvert)
mysql -u root
4) Exécutez la commande suivante avec un nouveau mot de passe approprié sur la console mysql
Pour MySQL 5.7+:
mysql > UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
Pour les versions antérieures:
mysql > UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
5) mysql > FLUSH PRIVILEGES;
6) Quittez les deux terminaux et ouvrez un nouveau terminal et connectez-vous à mysql avec l'utilisateur root et le nouveau mot de passe
mysql -uroot -p
Type:/usr/local/mysql/bin/mysqladmin -u root -p password
Quand il demande un mot de passe, ne saisissez rien, appuyez simplement sur Entrée. Il vous demandera alors d'entrer un nouveau mot de passe, puis de confirmer. Fini.
pour la première utilisation du mot de passe
mysqladmin -u root password NEWPASSWORD
mise à jour de l'ancien mot de passe
mysqladmin -u root -p'oldpassword' password newpass
Source = http://www.cyberciti.biz/faq/mysql-change-root-password/
Je suis sur Yosemite, mais sur Maverick a le même problème. - Corrigez d'abord l'erreur de socket 2002 si vous ne l'avez pas fait
Sudo mkdir /var/mysql
Sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Et puis essayez
Sudo /usr/local/mysql/bin/mysqladmin -u root -p password
cd /usr/local/mysql/bin
./mysqladmin -u root password root
Ce n'est pas ainsi que vous définissez le mot de passe. C'est ainsi que vous vous connectez à mysql.
Si vous n'avez pas de mot de passe, vous vous connectez en utilisant:
mysql -u root
et cela vous amènera à la ligne de commande MySQL.
Au lieu de cela, utilisez simplement ce qui suit pour changer le mot de passe.
mysqladmin -u root password NEWPASSWORD
Pour définir votre mot de passe root après l'installation:
Sudo mysqld_safe --skip-grant-tables
Pour exécuter MySQL en contournant l'authentification.FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
où 'mot de passe' est votre mot de passe choisi.FLUSH PRIVILEGES;
Encore une foisCela fonctionne sur macOS Sierra
étape 1: ouvrir le terminal
étape 2: collez la commande suivante
Sudo /usr/local/mysql/support-files/mysql.server restart
Votre terminal doit afficher ceci:
Users-MacBook-Air:~ usr$ Sudo /usr/local/mysql/support-files/mysql.server restart
Erreur de mot de passe! Le fichier PID du serveur MySQL est introuvable!
Démarrage de MySQL .. SUCCÈS!
Étape 3: assurez-vous que le serveur SQL est en cours d'exécution
Étape 4: Ouvrez le travail MYSQL et cliquez sur l'instance locale
Étape 5: tapez l'ancien mot de passe et le nouveau mot de passe
Vous perdrez toutes les bases de données
étape 1: ouvrir le terminal
étape 2: supprimer le dossier mysql Sudo rm -rf /usr/local/mysql
étape 3: réinstaller mysql, une fois l'installation générée, un nouveau mot de passe
Cela résout le problème pour moi: après cela va vous demander votre mot de passe super utilisateur, puis le nouveau mot de passe.
Mot de passe Sudo/usr/local/mysql/bin/mysqladmin -u root -p
Vous souhaitez réinitialiser ou définir un nouveau mot de passe root?
Étapes pour MySQL 5.7.5 et versions antérieures:
Ouvrez une fenêtre de terminal:
Arrêtez le serveur mysql s'il est en cours d'exécution:
Sudo /usr/local/mysql/support-files/mysql.server stop
Redémarrez-le avec l'option --skip-grant-tables
:
Sudo mysqld_safe --skip-grant-tables
Ouvrez une autre fenêtre de terminal:
Tapez: mysql -u root
Réinitialiser le mot de passe root (c'est-à-dire pour localhost)
UPDATE mysql.user SET authentication_string = PASSWORD(‘MyNewPass’), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
Maintenant, votre mot de passe pour root @ localhost est MyNewPass . Vous pouvez le changer:
Fermez toutes les fenêtres de terminal. Ouvrez une nouvelle fenêtre de terminal et saisissez:
mysqladmin -u root -p'MyNewPass' password '123456'
Maintenant, votre mot de passe root est 123456
Vous devriez voir le message d'avertissement ci-dessous, vous pouvez l'ignorer si vous changez votre mot de passe root @ localhost:
mysqladmin: [Avertissement] L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être peu sûre. Avertissement: étant donné que le mot de passe sera envoyé au serveur en texte brut, utilisez la connexion SSL pour garantir la sécurité du mot de passe.
Vérifiez si votre mot de passe root a bien été modifié:
mysql -u root -p'123456' -e 'show databases;'
Production:
mysql: [Avertissement] L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être peu sûre.
+ -------------------- +
| Base de données |
+ -------------------- +
| schéma_information |
| mysql |
| performance_schema |
| sys |
+ -------------------- +