글이 잘 보이지 않는다면 우측 하단의 달 모양을 눌러 라이트모드로 변경해주시기 바랍니다.
해당 글은 MacOS 를 기준으로 작성이 되었음을 미리 알려드립니다. WindowOS 를 이용하시는 분은 추후 업로드될 게시글을 기다려주시거나 다른 작성자의 게시글을 확인해주시기 바랍니다.
MySQL 설치하기 - Homebrew 설치
우선, Homebrew 를 설치해야 합니다.
위 링크에서 안내를 해 주는대로 homebrew 를 설치해주시기 바랍니다.
MySQL 설치하기 - MySQL 설치
터미널을 열어줍니다.
터미널에 이와같이 brew update 를 입력하여 homebrew를 업데이트 해주시기 바랍니다.
이 때 시간이 조금 걸리게 되는데 기달려주시면 아래와같이 나타나게 됩니다.
이와같이 나타나게 된다면 업데이트가 완료된 것 입니다.
이 후 아래 이미지처럼 작성을 해주세요.
원하는 버전이 있다면 맨 뒤에 @5.5 처럼 원하는 버전을 입력해주세요.
이렇게 작성을 하셧다면 설치가 될 것 입니다.
MySQL 세팅
터미널에서 아래와같이 작성을 해 줍니다.
mysql -u root -p
위처럼 입력을 하시고 비밀번호를 입력하시면
MySQL [(none)]> 이라고 보이게되는데 이 때 이러면 접속이 된 것 입니다.
여기서 비밀번호 설정은 다른분들의 게시글 혹은 추후 업로드될 게시글을 확인해주시기 바랍니다.
이제 사용할 데이터베이스를 만들 것 입니다.
#이제 데이터베이스를 추가해보겠습니다
CREATE DATABASE authtest default CHARACTER SET UTF8;
show databases;
이렇게 나오게 됩니다. 이는 데이터베이스를 보여주는것으로, 추후에 데이터베이스가 어떤것이 있는지 확인하기 좋습니다.
#이제 authtest 를 선택하겠습니다
use authtest;
CREATE TABLE `authtest`.`user` (
`id` int NOT NULL AUTO_INCREMENT,
`userid` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`age` int NOT NULL,
`created` timestamp NOT NULL,
`modified` timestamp NOT NULL,
PRIMARY KEY (id)
);
위처럼 코드를 작성해준다면 authtest 안에 user 테이블이 만들어집니다.
#테이블이 잘 추가되었는지 확인을 해 보겠습니다.
show tables;
여기까지 해준다면 로그인 / 회원가입을 위한 MySQL의 세팅은 끝이나게 됩니다.
NodeJS - body-parser / cors 모듈설치 및 적용
현재 저는 ApiTestServer 프로젝트를 안에서 작성을 하고있습니다.
우선, 요청의 본문을 해석해주기위해 body-parser 를 사용하며,
Access-Control-Allow-Origin 을 위해 cors 도 설치하도록 하겠습니다.
yarn add body-parser
yarn add cors
이 두개의 모듈을 설치해주도록 합니다.
간혹, body-parser 대신 express 를 사용해도 된다는 말이 있습니다.
맞는말이지만, body-parser 가 express 에 비해 해석의 범위가 더 넓습니다.
body-parser의 경우 Raw, text 의 요청도 해석을 할 수 있습니다.
이제 두 모듈 설치가 완료되었다면 최 상위 파일에 아래 코드를 추가해줍니다.
저의 경우는 app.js 이니 app.js 에 추가를 하도록 하겠습니다.
// Modules
const bodyParser = require('body-parser');
const cors = require('cors');
......
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors());
위와같이 작성을 해주면 적용이 완료가 됩니다.
NodeJS - express-mysql-session 모듈설치 및 적용
또 두가지의 모듈을 설치해 주어야 합니다.
express-session 과 express-mysql-session 입니다.
yarn add express-session
yarn add express-mysql-session
이 후 이 두개의 모듈을 이용해서 mysql 연동을 해줄것 입니다.
const session = require('express-session')
const MySQLStore = require('express-mysql-session')(session)
......
const option = {
host : 'localhost',
port : 3306,
user : 'root',
password : 'root',
database : 'authtest'
}
const sessionOption = {
secret : 'YOUR_SECRET_KEY',
resave : false,
saveUninitialized : false,
store : new MySQLStore(option)
}
app.use(session(sessionOption))
이처럼 작성을 해주고, app.js 를 실행해서
이처럼 나온다면 연동과 설치가 모두 끝난것 입니다.
추가로 굳이 저렇게 option 과 session 옵션을 나눈 이유는 추후에 다른곳으로 빼기 편하게 하기위함 입니다.
다음은 세션관리를 해보도록 하겠습니다.
'JavaScript > Nodejs' 카테고리의 다른 글
[Nodejs] 로그인 / 회원가입 [JWT Token] (2) | 2021.09.03 |
---|---|
[Nodejs] 로그인 / 회원가입 [ 로그인 ] (0) | 2021.08.14 |
[Nodejs] 로그인/회원가입 구현하기 (세션유지편) (0) | 2021.05.21 |
[NodeJS] 로그인/회원가입 구현하기 (로그인편) (4) | 2021.05.20 |
[NodeJS] 로그인/회원가입 구현하기 ( 회원가입편 ) (3) | 2021.05.20 |