본문 바로가기
> 개발/Node.js & Express

'Client does not support authentication protocol requested by server; consider upgrading MySQL client' 에러

by @일리 2023. 8. 3.

Node.js와 MySQL을 연동하던 중에 문제가 발생했다. 

에러 메세지

  code: 'ER_NOT_SUPPORTED_AUTH_MODE',
  errno: 1251,
  sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
  sqlState: '08004',
  fatal: true

해결방법

mysql -u root -p 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호입력';

mysql을 실행한 뒤 ALTER로 인증 플러그인을 변경해주면 된다.

이때 'Your password does not satisfy the current policy requirements' 에러 메시지가 뜰 수 있다. 내가 설정해둔 보안 규칙에 맞지 않은 비밀번호를 입력했기 때문이다. 나는 중간 단계로 보안수준을 설정해놨는데 그 규칙이 뭔지 기억이 잘 안났다.

 

그래서 "SHOW VARIABLES LIKE 'validate_password%';"로 비밀번호 규칙을 다시 확인했다.

비밀번호는 8자리 이상, 대문자와 숫자, 특수기호까지 섞어야 했다ㅎㅎ

원인

원인이 궁금해서 찾아보다가 이분의 글을 발견했다!

 

MYSQL, Client does not support authentication protocol requested by server 에러 해결

MYSQL에서 Client does not support authentication protocol requested by server; consider upgrading MySQL client 오류가 발생하는 이유는 클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않기 때문입니다. 이 문

change-words.tistory.com

문제를 해결한 지금은 root 플러그인이 mysql_native_password로 나오는데 원래는 caching_sha2_password여서 기존의 비밀번호로 로그인을 할 수 없었나보다. 그래서 mysql 서버에서 mysql_native_password 플러그인을 사용하도록 변경해주면 문제가 해결이 되는 것이었따~~!

 

 

ㅎㅎ소소한 문제 해결 완료해서 기분이 좋다~!!

댓글