NEXT.JS+MySQL의 강좌는 MySQL8입니다.0에 연결할 수 없으면

배경.


NEXT.JS를 사용하여 MySQL을 연결하는 다음 강좌를 발견하였는데, 그 속에 좀 빠졌다.
https://vercel.com/guides/deploying-next-and-mysql-with-vercel

컨텐트


강좌에 따라 실시되었는데npm run migrate 다음과 같은 오류가 발생하였다.
could not run migration, double check your credentials.
scripts/migrate-db.js내의 48행에서 이러한 상황이 발생하여 다음과 같이 일부 수정하였다.
    console.error('could not run migration, double check your credentials.',e)
다음 오류를 확인했습니다.
could not run migration, double check your credentials. Error: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at query (/Users/hashito/git/docker/next.js/my-app/scripts/migrate-db.js:26:11)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async migrate (/Users/hashito/git/docker/next.js/my-app/scripts/migrate-db.js:33:5)
이 잘못된 문법을 통해 조사한 결과 MySQL8.0에서 인증 방법은 mysql_native_password에서 caching_sha2_password로 바뀌었기 때문에 인증을 할 수 없었다.
Maradb로 바꿔서 진행이 잘 됐어요.
아마 mysql_native_password 인증 방법을 바꿔도 순조롭게 진행될 것 같습니다.

좋은 웹페이지 즐겨찾기