Cet article vous présentera comment résoudre l'erreur 1251 lorsque Navicat se connecte à Mysql8.0.11. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
J'ai réinstallé l'ordinateur et installé la dernière version de la base de données MySQL. En conséquence, Navicat a signalé une erreur 1251 lors de la connexion à Mysql et sqlyog a signalé une erreur 2058. la commande window est entrée dans mysql, et le compte et le mot de passe étaient tous deux corrects.
J'ai vérifié en ligne que la raison en est que la règle de cryptage dans les versions antérieures à mysql8 est mysql_native_password, mais après mysql8, la règle de cryptage est caching_sha2_password. Il existe deux façons de le faire. résoudre le problème. L'une consiste à mettre à niveau le pilote Navicat et l'autre à restaurer la règle de cryptage du mot de passe de connexion de l'utilisateur MySQL sur mysql_native_password.
J'utilise souvent la deuxième méthode
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
Je pense que beaucoup les gens l'utilisent. C'est une erreur de copier la commande directement.
'root' Définissez vous-même le nom d'utilisateur
'localhost' fait référence à l'IP ouverte à l'utilisateur, qui peut être 'localhost' (accès local uniquement, équivalent à 127.0 .0.1), il peut s'agir d'un '*.*.*.*' spécifique (une IP spécifique), ou il peut s'agir de '%' (toutes les IP sont accessibles)
'mot de passe' est ce que vous voulez pour utiliser le mot de passe utilisateur
Apprentissage recommandé : Tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!