컴퓨터를 다시 설치하고 최신 버전의 MySQL 데이터베이스를 설치했습니다. 결과적으로 Navicat은 Mysql에 연결할 때 1251 오류가 보고되었고, SQL은 2058 오류가 보고되었습니다. 비밀번호가 정확했습니다.
관련 추천: "Navicat for mysql graphic tutorial"
온라인에서 확인한 결과 mysql8 이전 버전의 암호화 규칙은 mysql_native_password이고 mysql8 이후 버전의 암호화 규칙은 caching_sha2_password입니다.
문제를 해결하는 방법에는 두 가지가 있습니다. 하나는 navicat 드라이버를 업그레이드하는 것이고, 다른 하나는 mysql 사용자 로그인 비밀번호 암호화 규칙을 mysql_native_password로 복원하는 것입니다.
저는 주로 두 번째 방법을 사용합니다:
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.0에 해당)일 수 있습니다. 0.1 ), 특정 '*.*.*.*'(특정 IP) 또는 '%'(모든 IP에 접근 가능)일 수 있습니다
·'password'는 사용하려는 사용자 비밀번호입니다
이렇게 하면 문제가 해결됩니다.
위 내용은 mysql에 연결할 때 navicat에서 1251 오류가 표시되면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!