본문 바로가기
Nodejs

[Nodejs]mysql2 활용하기

by teamnova 2024. 8. 14.
728x90

오늘은 nodejs의  mysql2 모듈을 활용해 mysql db의 데이터를 조회하는 예시를 만들어 보겠습니다.

 

위 자료를 가진 example 테이블의 데이터를 조회해 보겠습니다.

 

1.프로젝트 생성 및 초기

mkdir 생성할 폴더명
cd 방금 생성한 폴더명
npm init -y

 

=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.

 

 

 

2.mysql2 설치

npm install mysql2

 

 

3.mysql2 활용할 js파일 생성

touch js 파일명

 

=> 프로젝트 폴더 내에서 js 파일을 생성합니다.

 

 

저는 위 이미지와 같이 생성하였습니다.

 

 

 

4.mysql2 활용할 js파일 코드 작성

//설치한 mysql2 import
const mysql = require('mysql2');

// MySQL 데이터베이스 연결 관련 정보 설정
const dbConfig = {
    host: '데이터베이스 주소',
    user: '데이터 베이스 접속을 위한 계정명',
    password: '계정의 비밀번호',
    database: '접근할 스키마 이름'
};

//설정 정보 기반 데이터베이스 연결 관련 객체 생성
const connection = mysql.createConnection(dbConfig);

//데이터베이스 연결
connection.connect(err => {
    if (err) {
        // 연결 중 오류가 발생하면 오류 메시지 출력 및 실행 중지
        return console.error('연결 오류: ' + err.stack);
    }
    console.log('연결됨');
});


//처리할 select문 작성
const query = 'SELECT * FROM example';

// 쿼리 실행
connection.query(query, (err, results) => {
    //db 연결 종료
    connection.end();
    console.log('연결종료');

    console.log('--결과출력--');
    if (err) {
        // 쿼리 실행결과 오류가 발생했다면 오류내용 출력
        console.error(err);
        return;
    }

    // 쿼리 결과 출력
    console.log("결과:");
    results.forEach((row, index) => {
        console.log(`Row ${index}:`, row);
    });
});

 

 

 

 

실행 결과

 

mysql2 모듈을 사용한 JavaScript 파일을 통해 데이터베이스의 데이터를 조회할 수 있습니다.

 

 

 

 

MySQL 8 버전 이후부터 기본 계정 인증 방식이 'caching_sha2_password'로 설정되어 있습니다.

기존의 nodejs mysql 모듈은 이 인증 방식을 지원하지 않기 때문에, 'mysql_native_password'로 설정을 변경하지 않으면 사용이 어렵습니다. 반면, mysql2 모듈은 'caching_sha2_password'를 지원합니다. 그리고 prepared statements, promise 등의 추가 기능 또한 지원 합니다.

최신 버전들과의 호환과 추가 기능 활용을 생각한다면 mysql 모듈보단 mysql2모듈을 활용하는게 좋을 수 있습니다.

'Nodejs' 카테고리의 다른 글

[Nodejs]ES 모듈 관련 예시 만들기  (0) 2024.08.26
[Nodejs]babel 활용하기  (0) 2024.08.20
[Nodejs]bcryptjs 활용하기  (0) 2024.08.09
[Nodejs]pug 활용하기  (0) 2024.08.02
[Nodejs] IPFS 이미지 업로드  (0) 2024.01.24