컴퓨터를 다시 설치하고 최신 버전의 MySQL 데이터베이스를 설치했습니다. 그 결과 Navicat은 Mysql에 연결할 때 1251 오류가 보고되었고, sqlyog는 2058 오류가 보고되었습니다. 비밀번호가 정확했습니다.
이유는 mysql8 이전 버전의 암호화 규칙은 mysql_native_password이고, mysql8 이후 버전의 암호화 규칙은 caching_sha2_password이기 때문입니다.
문제를 해결하는 방법에는 두 가지가 있습니다. 하나는 navicat 드라이버를 업그레이드하는 것이고, 다른 하나는 mysql 사용자 로그인 비밀번호 암호화 규칙을 mysql_native_password로 복원하는 것입니다.
관련 추천: "Navicat for mysql 사용법 그래픽 튜토리얼"
저는 두 번째 방법을 자주 사용합니다:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
많은 사람들이 명령을 직접 복사하는 것을 보는데 이는 잘못된 것입니다.
'root' 자신이 정의한 사용자 이름
'localhost'는 사용자에게 공개된 IP를 의미하며, 'localhost'(로컬 액세스 전용, 127.0.0.1과 동일)일 수도 있고 특정 '* . *.*.*'(특정 IP) 또는 '%'(모든 IP에 접근 가능)
'password'는 사용하려는 사용자 비밀번호입니다
이렇게 하면 문제가 해결됩니다.
위 내용은 mysql과 navicat 사이에 연결을 설정할 때 1251 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!