노드에서 mysql 접속이 안될때

Donghun Seol·2022년 11월 20일
0

I can't make a simple connection to the server for some reason. I install the newest MySQL Community 8.0 database along with Node.JS with default settings.

원인

node mysql 클라이언트에서 새로운 mysql 인증방식을 지원하지 않아서 생기는 문제다.

MySQL 8 has supports pluggable authentication methods. By default, one of them named caching_sha2_password is used rather than our good old mysql_native_password

두가지 해결 방법

1. 업데이트된 mysql 클라이언트를 설치한다.

const mysql = require('mysql'); // error here
const mysql = require('mysql2'); // use this instead

또는

2. db에서 아래와 같이 설정해준다.

sha2 password를 예전의 native_password 형식으로 바꿔준다는 명령어다.

ALTER USER '<username>'@'localhost' identifed with mysql_native_password by '<password>'

profile
I'm going from failure to failure without losing enthusiasm

0개의 댓글