Node.js-MySQL Study
생활코딩님의 Node.js-MySQL 강의를 보면서 실습한 내용을 정리한 글입니다.
참고: https://youtu.be/1ee5vAou2Y0
Node.js-MySQL 기본 설정 터미널 명령어
package.json 파일을 열어 dependencies
부분 확인!
우리가 사용하는 어플리케이션이 의존하는, 부품으로 사용하고 있는 라이브러리들을 의미
따라서 dependencies
로 사용한 라이브러리를 세팅해주어야 원활하게 웹 사이트가 돌아감.
npm install
node.js의 패키지매니저(npm)가 package.json의 dependencies
의 내용을 보고 필요한 정보를 다운로드 받아 node_modules
디렉토리에 저장
pm2 start <설정파일명.js> --watch
node.js를 쉽게 사용하게끔 도와주는 프로세스 매니저인 pm2 시작(무중단 프로세스 제공)
시작 시점에 여러 설정을 할 수 있는데, 그중 --watch
옵션은 파일이 변경되었을때 노드를 재시작 및 감시
pm2 log
문제가 발생했을때, 문제를 로그로 확인 가능
본격적으로 Node.js와 MySQL을 연결해보자
MySQL 접속을 위한
1. Node.js에서 제공해주는 기본 모듈이 있나?
-없다
2. 그럼 누군가 만든게 있나?
-있다! npm!
1. npm 이용
npm install --save mysql2
--save 설정을 통해 package.json의 dependencies에 저장하기
(+ npm version 5이상 부터는 save 설정 없이도 dependencies에 저장된다고 하니 save 굳이 안 써도 괜찮아요!)
: 다른 곳에서 복제/생성 할때 package.json에 있는 내용을 바탕으로 해서 mysql 쉽게 설치 가능
💡 npm 공식문서: https://www.npmjs.com/package/mysql
2. mysql 모듈 사용
var mysql = require('mysql2');
// mysql2 모듈을 불러오고, 이제부터 mysql이라고 할게!
// mysql 로 했더니 오류가 나서,
// 서치해보니 mysql2로 하라는 의견이.. 해봤더니 바로 됨. 정말 감사하다.
var connection = mysql.createConnection({
// mysql 변수에 담겨있는 모듈과 관련된 객체에 소속되어 있는 메소드 createConnection
host : 'localhost', // mysql 계정의 host 이름
user : 'me', // mysql 계정의 user 이름 (ex. root)
password : 'secret', // 그 user의 비밀번호
database : 'my_db' // 사용할 데이터베이스 이름
});
connection.connect();
// connection 객체의 connect 이라는 메소드 호출 시 mysql 접속
connection.query('SELECT * FROM <테이블명>', // sql문의 첫번째 인자
function (error, results, fields) {
// 두번째 인자로 콜백함수
// -> 첫번째 인자의 sql이 데이터베이스 서버로 전송되어 실행된 후 콜백함수 실행
// if (error) throw error;
// error 발생 시 throw는 error 발생했어요!라고 알림
if (error) {
console.log(error);
// 생활코딩 강의를 보면서 실습중인데, throw 대신 console문을 쓰신다. 왜?
}
console.log(results);
// 콜백함수의 두번째 인자는 접속결과를 나타냄.
});
connection.end();
💡 자바스크립트의 예외처리 방식의 대한 자세한 내용이 담긴 블로그 주소(https://webclub.tistory.com/71)
🎁 ✏️ 오류 잡자
맥북 m1 사용중인 작성자가, 생활코딩님의 강의(https://youtu.be/udJjxv3IA4k)를 그대로 따라했는데 오류가 나서 검색해도 잘 해결이 안되길래 잠시 빡이 쳤습니다.(물론 주어는 제 자신입니다. 생활코딩 선생님께서는 다음 강의에 해결법도 자세하고 섬세하게 알려주십니다. 그러나 성격이 급한 저는 항상 오류가 나면 강의를 멈추고 오류를 해결하는데 급급한 마음이 앞서서 해결책을 직접 구글링하네요..)
이 글을 본 다른 분들과 미래의 내가 화기애애하게 공부를 했음 하는 마음에 오류 난 코드와 해결한 코드 화면캡쳐 사진을 올립니다.
(왜 오류 잡자 옆에 이모티콘이 선물인지 궁금하세요? 오류에 대해 추상화한 이모티콘을 뭐로 할지 생각중에 오류를 만날때마다 분노조절장애가 되는 나의 모습에 이러다가 오래 못 살것 같아 '오류 = 선물' 이라고 생각하기로 했어요. 좀 더 공부할 수 있게 컴파일러가 주는 선물..)
위의 사진처럼 데이터 베이스의 표의 내용이 객체화 되어 잘 나오면 Node.js와 MySQL 연결 성공!!
Author And Source
이 문제에 관하여(Node.js-MySQL Study), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@allzeroyou/Node.js-MySQL-Study저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)