본문 바로가기
웹/백엔드

Node.js & mysql

by msm1029 2020. 11. 28.
반응형

작업하고 있는 디렉토리에서 npm install 커맨드를 입력할 경우

package.json에서 여러 정보를 다운로드한다. 

 

예를 들어 package.json에

  "dependencies": {

    "sanitize-html""^1.18.2"

  }

와 같은 내용이 있다면 npm은 sanitize-html 모듈에 관한 내용들을 다운로드 한다.

 

그리고 mysql에 필요한 모듈을 다운받기 위해서 npm install을 할 때,

npm install --save mysql와 같이 --save 옵션을 더해주면 현재 dependencies 내용에 mysql에 대한 버전 정보를

추가해준다.

 

**에러 발생시

나는 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 와 같은 오류를 겪었다.

 

mysql.js 파일에서

var connection = mysql.createConnection({

  host     : 'localhost',

  user     : 'root',

  password : '나의 mysql root 비밀번호',

  database : 'opentutorials'

}); 와 같이 설정을 했었는데

 

mysql에 루트계정으로 로그인 후

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

명령을 친 후 flush privileges; 명령을 치고

mysql.js 파일에서 connection 객체의 password를 'password'로 바꿔주니 해결이 되었다.

 

아마 권한과 privilege에 관한 오류인듯 하다.

 

**vscode 참고(변수명 한번에 바꾸기, 드래그하여 주석 처리)

드래그 주석 : Shift + Alt + A

변수명 한번에 바꾸기 : 변수 선택 후 Ctrl + Shift + L

반응형