[MySQL ] code: 'ER_NOT_SUPPORTED_AUTH_MODE', errno: 1251,

uoayop·2021년 4월 27일
1

에러 한바가지

목록 보기
4/16
post-thumbnail

[상황] 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

[해결 방법] 외부 접속을 위한 유저 새로 만들어주기

8.0 버전으로 오면서 외부접속 시 로컬 비밀번호가 아니라 암호화된 다른 비밀번호를 사용하도록 바뀐 것 같습니다.
그래서 일반적으로 접속할 때 사용하는 비밀번호로도 외부에서 접속이 가능하게끔 설정해주어야 합니다.
1. 유저 만들기
create user '유저명'@'%' identified with mysql_native_password by '비번';
2. 권한 주기
grant all privileges on . to '유저명'@'%';
이 명령어로 권한을 주시면 강의와 같이 잘 동작합니다.

출처 : nodejs 와 mysql 연동 에러 해결 | 작성자 michael00987 (🔗 링크)

user를 새로 만들고, backend의 database.js를 수정해주었다.

profile
slow and steady wins the race 🐢

0개의 댓글