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 |