web-dev-qa-db-fra.com

Erreur MySQL: le plugin d'authentification 'caching_sha2_password' ne peut pas être chargé

Je viens d'installer MySQL Ver 14.14 Distrib 5.7.22 avec Homebrew sur mon macOS v10.13.4.
J'ai lancé la commande:
brew install mysql

Une fois l'installation terminée, comme dirigé par Homebrew, j'ai exécuté la commande:
mysql_secure_installation
et l’erreur renvoyée: Error: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found

J'ai essayé quelques choses, comme changer default_authentication_plugin en mysql_native_password dans le fichier my.cnf, mais cela génère toujours la même erreur.

Ensuite, j'ai essayé de courir:
mysql_upgrade -u root
et la même erreur a été renvoyée à nouveau mysql_upgrade: Got error: 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found while connecting to the MySQL server Upgrade process encountered error and will not continue.

Toute aide est appréciée.

12

J'ai donc trouvé le processus en cours de mysqld par Sudo lsof -i tcp:3306 puis je l'ai tué en utilisant Sudo kill -9 <PID>.

Après cela, j'ai essayé mysql_secure_installation encore une fois, mais a rencontré une nouvelle erreur:

Erreur: Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (61)

Après avoir essayé quelques corrections pour que mysql.sock fonctionne, j’ai démarré le serveur MySQL avec Sudo mysql.server start puis est allé de l'avant avec mysql_secure_installation pour définir un mot de passe pour l'utilisateur root.

Cela a fonctionné pour moi finalement.

Remarque: Homebrew vous demande de commencer par mysql_secure_installation _ avant de démarrer le serveur MySQL pour la première fois, mais cela m’a fait courir dans une boucle sans fin d’erreurs.

4

J'ai pensé que cela devrait être un problème avec la version de MySQL installée. Juste comme ci-dessus, vous devriez d'abord trouver puis tuer le processus mysqld attaché sur le port 3306

Sudo lsof -i tcp:3306
Sudo kill -9 <Peocess ID>

Puis mettez à niveau l’installation de mysql via brew, dans ce cas:

brew upgrade mysql

Cela devrait résoudre le problème. L'exécution de mysql après la mise à niveau devrait démarrer votre serveur après l'installation.

par exemple mysql -u root -p [your password here]

1
Waweru Mwaura