J'ai loué un serveur dans Alibaba Cloud aujourd'hui. Lorsque j'ai utilisé sqlyog pour me connecter à distance à mysql, j'ai signalé une erreur de chargement du plugin caching_sha2_password, c'est-à-dire que le mot de passe de mise en cache du plugin sha2 n'a pas pu être chargé, mais je peux y accéder dans le cmd window.J'ai beaucoup cherché sur Internet.Aucune des solutions n'a fonctionné, et finalement la cause a été trouvée. Dans MySQL 8.0, caching_sha2_password est le plugin d'authentification par défaut au lieu de mysql_native_password, le serveur peut être connecté normalement, et la fenêtre cmd locale mysql -hxx.xx.xx.xx -P3306 -uroot -pRoot123. peut être connectée normalement, il est donc my sqlyog La version est trop ancienne.
Solution :
Il existe deux solutions sur Internet, l'une consiste à mettre à jour sqlyog et l'autre à modifier le plugin d'authentification mysql par défaut.
-
Inutile de dire que la première option consiste à mettre à niveau SQLyog
.SQLyog-13.1.6-0.x64 prend en charge l'authentification au-dessus de mysql8.0 par défaut.Cela peut être résolu en mettant à niveau la version inférieure de sqlyog vers 13.1.6. -
Modifier le plug-in d'authentification
Connectez-vous d'abord à mysql
mysql -hlocalhost -uroot -pRoot123.
Voici la même opération que de nombreux blogueurs, mais cette méthode ne peut résoudre que le problème de connexion locale, et il y a toujours des problèmes avec les connexions à distance. Le 123456 suivant est votre propre mot de passe
Modifier les règles de chiffrement (non obligatoire)
ALTER USER 'root'@'localhost' IDENTIFIÉ PAR 'Root123.' LE MOT DE PASSE EXPIRE JAMAIS ;
mettre à jour le mot de passe de l'utilisateur
ALTER USER 'root'@'localhost' IDENTIFIÉ AVEC mysql_native_password PAR 'Root123.';
Actualiser les autorisations
PRIVILÈGES FLUSH ;
réinitialiser le mot de passe(pas nécessaire)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123.';
Si vous devez utiliser une connexion à distance, changer localhost en % peut résoudre le problème de connexion à distance.
Modifier les règles de chiffrement (non obligatoire)
ALTER USER 'root'@'%' IDENTIFIÉ PAR 'Root123.' LE MOT DE PASSE EXPIRE JAMAIS ;
mettre à jour le mot de passe de l'utilisateur
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root123.';
Actualiser les autorisations
PRIVILÈGES FLUSH ;
réinitialiser le mot de passe(pas nécessaire)
ALTER USER 'root'@'%' IDENTIFIÉ PAR 'Root123.';