728x90
반응형

MYSQL 8

[NodeJS] DB 접근 ( Side Project - 스터디 사라져서 중단... )

이전 포스팅에서는 MySQL ConnectionPool을 만드는 부분까지 진행했습니다. 이번 글에서는 직접 DB에 접근하여 저장된 값을 가져오는 방식을 해보려고합니다. 저는 각각의 역할을 수행하도록 디렉토리 구조를 나눠서 사용하였습니다. 1. routes -> Controller의 역할을 수행 2. services -> service 로직을 수행 3. db -> 설정한 connectionPool 객체를 반환해주는 DB 설정 관련 이러한 구조로 구분하였습니다. routes 프론트에서 요청을 할때 /api/~~를 통하여 백엔드에 요청을 하게 됩니다. 따라서 /api 라는 요청이 들어오면 app.ts에서 api.ts로 접근을 하도록 하였습니다. app.ts import api from "../routes/ap..

[NodeJS] MySQL 연결 ( Side Project - 스터디 사라져서 중단... )

이전 포스팅에서 express 프로젝트 생성과 server 연결까지 진행했습니다. 이번에는 데이터베이스를 연결하는 작업을 진행하도록 하겠습니다. 작업을 하기전에 필요한 모듈이 있습니다. npm i dotenv mysql2 dotenv는 사용자 정보를 담을 .env파일을 사용하기 위한 모듈입니다. 정보를 깃에 올리지 않기 위한 파일이니 다운받아주세요. 또한 mysql을 사용하지 않고 mysql2를 사용합니다. mysql은 콜백 기반이기 때문에 promise를 사용하지 못하고 npm에 있는 promise-mysql 모듈을 따로 설치해서 사용해야 합니다. 하지만 mysql2는 promise를 지원하기 때문에 다른 모듈을 설치하지 않고 사용이 가능합니다. * mysql을 사용하게 되면 async/await를 사..

[Node.JS] MySQL 모듈화

지난 번의 MongoDB 모듈화 방식과 동일한 방식으로 진행하였다. 다만, 차이점은 사용하는 MySQL 모듈이 다르다는 점이다. 모듈화를 진행시키기 위해 찾아보는 예제 코드들은 대부분 import mysql from "mysql"; 모듈을 사용하였는데....내가 하려는 방법과 맞지 않았다. 아직 공부하는 단계라 해결하는데 원인을 몰랐기에..이틀은 고생한거같다. 막상 이유를 알고보니 너무 단순한 문제... 일단 사용한 코드는 이와 같다. import { createPool, Pool } from "mysql2/promise"; import dotenv from "dotenv"; dotenv.config(); export namespace DB { export const config = { user: pro..

[Node.JS] ConnectionPool

기존에 사용했던 방법은 DB에 접근할 때마다 connection 객체를 생성하여 값을 조회하는 방식으로 진행하였다. 하지만 이렇게 되면 매번 새로운 객체가 생성됨으로 속도가 저하될 수도 있다. 그렇기 때문에 미리 connectionPool을 준비해줌으로써 새로 객체를 생성하지 않고 준비된 pool을 이용하여 DB에 접근할 수 있다. 사용된 코드는 아래와 같다. db.ts import { MongoClient } from "mongodb"; export namespace DB { //DB export const NAME: string = 'DATA'; //COLLECTION export enum COLLECTIONS { ToDo = 'ToDo', Board = 'Board', } export class M..

[MySQL] 계정 생성 및 권한 부여

본문에서 다루는 MySQL 버전은 5.6 버전이며 5.7 버전부터 일부 변경 된 사항이 있음!!! 계정 생성) mysql -u root -p 를 입력하여 MySQL 에 접속 그 다음, 스키마를 mysql 로 변경하겠다. use mysql; 를 입력합니다. 지금부턴 SQL 질의문 이기 때문에 마지막에 세미콜론(;) 을 붙여야한다. mysql 스키마에 테이블 구성을 알아보겠습니다. show tables; 를 입력합니다. 여기서 계정에 관련 된 정보를 관리하는 테이블은 user 테이블 이다. select host, user, password from user; 를 입력하여 계정정보를 조회 ** MySQL 5.7 부터 user 테이블에 password 컬럼이 삭제되고 authentication_string 컬럼..

DataBase 2021.04.22

[Mac] MySQL 설치

HomeBrew를 이용한 설치 방법 터미널 접속 Homebrew를 사용하기전에 brew update 명령어를 입력하여 최신버전으로 업데이트 brew serch mysql 명령어 자신이 설치할 Mysql 명칭 확인 (ex"mysql@5.7 이런식) brew install mysql 명령어를 이용하여 최신버전으로 설치 (다른 버전을 원하면 목록에서 나온 명칭을 입력하면 됨) ex.brew install mysql@5.7 이런식으로 입력하면 5.7버전 설치 brew list 입력하여 설치 목록 확인 mysql이 있다면 정상적으로 설치 된것이다. Mysql 사용법 터미널에 mysql.server start 명령어를 사용하여 서버 실행 설정을 하기 위해서 mysql_secure_installation 명령어 입력..

환경설정/Mac 2021.02.22
728x90
반응형