129 votes

Échec de la connexion à Sequel Pro et MySQL

Je viens d'installer mysql sur mac à partir de Homebrew

brew install mysql

mysql -V

mysql  Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)

depuis le terminal, il fonctionne et je peux me connecter à mysql, mais à partir de Sequel Pro, il dit

enter image description here

Impossible de se connecter à l'hôte 127.0.0.1, ou de la demande dépassé.

Assurez-vous que l'adresse est correcte et que vous avez le nécessaire privilèges, ou essayez d'augmenter le délai d'attente de connexion (actuellement 10 secondes).

MySQL a dit: le plugin d'Authentification 'caching_sha2_password' ne peut pas être chargé: dlopen(/usr/local/lib/plugin/caching_sha2_password.donc, 2): image non trouvé

ne pouvez pas comprendre ce que je suis absent

235voto

Maciej Kwas Points 1102

C'est parce que Suite Pro n'est pas encore prêt pour un nouveau type de connexion de l'utilisateur, comme les états d'erreur: il n'y a pas de conducteur. Solution rapide pour les non-installe homebrew:

Apple Logo > System Preferences > MySQL > Initialize Database, puis tapez votre nouveau mot de passe et sélectionnez "Utiliser l'héritage de mot de passe'

Après le redémarrage, vous devriez être en mesure de se connecter. Le faire uniquement sur une nouvelle installation, car vous risquez de perdre votre db tables autrement.

mysql + homebrew

Fondamentalement, vous aurez à effectuer certaines actions manuellement, cependant que les données de votre base de données ne seront pas supprimés comme dans la solution ci-dessus

  • Aller à [mon.cnf][1] fichier et dans la section [mysqld] , ajoutez la ligne:

    default-authentication-plugin=mysql_native_password

  • Connexion au serveur mysql à partir de la borne: exécutez mysql -u root -p, puis à l'intérieur de shell, exécutez la commande suivante (en remplaçant [mot de passe] avec votre mot de passe):

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';

  • la sortie de mysql shell avec exit et exécutez brew services restart mysql.

Devrait fonctionner.


mon.cnf

Le mon.cnf fichier se trouve dans /etc/my.cnf sur Unix/Linux

68voto

Aidin Points 1068

TL;DR: Sequel Pro est morte depuis 2016. Ne pas rétrograder votre base de données à cause d'un outil. Passer à un autre outil.


Toutes les autres solutions sont recommandant de changer les paramètres de votre base de données (en les rendant moins sûr, comme annoncé par MySQL) pour l'outil que vous utilisez. Ce n'est pas acceptable pour moi.

J'ai toujours été un grand fan de Sequel Pro, même remis à elle. Mais, avec toute ma passion et de l'amour, je suis désolé si l'outil n'ont pas communiqué depuis 2016. YOLO, et j'ai besoin de passer à autre chose!

L'alternative que j'ai trouvé (à partir de https://stackoverflow.com/a/55235533/2321594grâce à @arcseldon) est DBeaver qui supporte MySQL 8 nouvelle authentification (non-legacy) de la méthode.

PS. Le seul truc dans l'outil de côté, pas pd côté est lors de la création d'une base de données MySQL 8 connexion que vous pourriez avoir besoin d'aller sur "Propriétés du Pilote" (plus tard peut être trouvé dans Modifier la Connexion) et tourner à la valeur de allowPublicKeyRetrieval de true.

J'avais besoin de ce connecter à mon MySQL conteneur créé à l'aide de Docker. Pour avoir l'IP de MySQL être visibles de l'extérieur, pour toute autre application dans votre écosystème (et pas seulement de cet outil), vous devez créer un nouvel utilisateur dans MySQL, ou à passer à l' -e MYSQL_ROOT_HOST=% au moment de l'exécution ou de l'ENV.

20voto

Ilias Karim Points 377
  1. En supposant que vous n'avez pas de configuration mysql , répétez ce qui suit à ~/.my.conf
 [mysqld]
default-authentication-plugin=mysql_native_password
 
  1. Connectez-vous à mysql avec mysql -u root -p
  2. Définissez le mot de passe de l'utilisateur root avec ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';[PASSWORD] est le mot de passe de votre choix.
  3. Redémarrez mysql avec par exemple brew services restart mysql

5voto

Xeno Points 1

Si vous vous connectez à MySQL via root@127.0.0.1, assurez-vous de réinitialiser également son mot de passe!

ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '[mot de passe]';

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