본문 바로가기
Node.js/express

[Node.js] Mysql 연동하기

by kiwi_wiki 2021. 3. 22.

기본적으로 mysql 이 설치되어있어야 하기 때문에 아직 설치를 하지 못한 분들은 설치해주시기 바랍니다.

설치 방법 포스팅 : kiwi-wiki.tistory.com/22

 

 

node.js 에서 mysql을 연동하기 위해 명령어를 입력한다.

 

명령어 >>

npm install mysql2

npm install mysql 도 있지만 mysql2를 하는 이유는 promise 때문이다.

mysql은 callback기반이기 때문에 promise를 사용하지 못하고 npm에 있는 promise-mysql 모듈을 따로 설치해서 사용해야 한다.

하지만 mysql2는 promise를 지원하기 때문에 다른 모듈을 설치하지 않고 사용이 가능하다.

 

mysql2 가 설치 완료 되었으면 index.js에 데이터 베이스의 연결 정보를 입력한다.

 

간단한 연결테스트를 위해 임의의 테이블을 생성해 데이터를 한두 개 넣어주고 index.js 에서 해당 테이블을 조회하는 코드를 입력한다.

터미널에서 index.js 실행 ( 명령어 : node index.js )으로 console.log을 통해 테이블에 넣어둔 값을 확인할 수 있다.

 

 

에러 발생

 

mysql을 brew로 설치하고 node.js와 mysql을 연동하게 되면 아래와 같은 에러가 발생할 수 있다.

 

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

 

원인은 brew로 mysql을 설치하고 비밀번호는 설정 하지 않았기 때문이었다.

비밀번호를 설정해 주니 더이상 에러가 발생하지 않았다.

 

 

mysql 비밀번호 변경하는 방법 

 

mysql 실행

$ mysql -u root -p
Enter password:

설정 되어있는 비밀번호가 없는 경우 그냥 enter 하면 됩니다.

 

비밀번호 확인 / 변경

$ mysql> use mysql;

// 비밀번호 확인
$ mysql> select host, user, authentication_string from user;

// 비밀번호 변경
$ mysql> alter user 'root'@'localhost' identified with mysql_native_password by '변경후 비밀번호';

$ mysql> exit
Bye

끝에 새미콜론(;) 을 빼먹지 않도록 주의하며 입력해줍니다.

 

728x90
반응형