Node.js와 MySql 연동하기

sese·2022년 8월 5일

새싹

목록 보기
10/39

npm으로 mysql 외장 모듈 설치하기

$ npm i mysql

설치한 mysql 모듈 불러오기

const mysql = require("mysql");

데이터베이스 정보를 설정하고, 서버와 연결해주는 객체 생성하기

const cnn = mysql.createConnection({
	// 서버일 경우 ip 주소
	host: 'localhost',
	user: 'user',
    password: '비밀번호',
    database: '사용할 데이터베이스 이름'
});

root로 접속한다면, 외부에서 root로의 접근이 허용되지 않기 때문에 다음과 같은 에러가 뜰 수 있다. 이 경우 아래 링크를 참고하여 새로운 user를 생성하기 바란다.

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server;

MySQL 사용자 추가

생성한 cnn객체의 query() 매소드를 사용하여 sql문 실행하기

mysql은 promise 방식을 지원하지 않아서, 콜백 방식을 사용하여야 한다.

// cnn.query의 첫번째 인자로 sql 문이 들어가고, 두번째 인자로는 callback 함수가 들어간다.
cnn.query('SELECT * FROM visitor', (err, rows) => {
  // 에러가 발생하면 에러 던져주기
  if (err) throw err;
  
  console.log(rows);
  
})

콘솔에 찍어보면 'SELECT * FROM visitor'를 실행한 결과가 배열안에 잘 들어간 것을 볼 수 있다.

profile
예전 글은 다크모드로 봐야 잘 보일 수도 있습니다.

0개의 댓글