기본적으로 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
끝에 새미콜론(;) 을 빼먹지 않도록 주의하며 입력해줍니다.
'Node.js > express' 카테고리의 다른 글
[Node.js] sequelize 사용하기 2 (0) | 2021.03.22 |
---|---|
[Node.js] sequelize 사용하기 1 (0) | 2021.03.22 |
[Node.js] Express 프레임워크를 이용해 Hello World 만들기 (0) | 2021.03.19 |
[Node.js] WebStorm 으로 프로젝트 만들기 (0) | 2021.03.19 |