La solution à l'erreur MySQL de connexion à distance "le plugin caching_sha2_password n'a pas pu être chargé" connexion sql brouillée

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.

insérez la description de l'image ici
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.

  1. 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.

  2. 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.';
insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/liufeifeihuawei/article/details/129832339
conseillé
Classement