일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Kotlin
- databinding
- junit
- mvvm
- GCP
- android13
- RxKotlin
- php
- paging
- Observable
- MotionLayout
- Koin
- SwiftUI Tutorial
- MediaSession
- list
- node.js
- google play
- 인앱결제
- rx
- 동영상
- Android
- Reactive
- SWIFTUI
- 테스트 자동화
- mysql
- node
- PagingLib
- Android 13
- MediaPlayer
- Animation
- Today
- Total
봄날은 갔다. 이제 그 정신으로 공부하자
node.js로 웹서비스 만들기 (2. mysql 설정하기) 본문
이번 글에서는 이전 글에서 설치한 mysql을 프로젝트에서 사용할 수 있도록 기본 설정을 한 후, DB를 생성하고 서비스에 사용될 table들을 만들고 프로젝트에 연결해주고 마지막으로 DBeaver을 연동하는 부분까지 설명합니다.
이전 글에서 mysql을 설치하였기 때문에 제대로 설치되었고 현재 어떤 상태인지 확인
$ brew services list
mysql이 시작되어 있지 않다면 아래 명령어를 사용해 mysql 실행
$ brew services start mysql
아래 명령어를 통해 root 비밀번호 설정하기
$ mysql_secure_installation
root 권한으로 mysql 접속
$ mysql -u root -p
db 생성하기
mysql> create database newquizdb;
db가 정상적으로 생성되었는지 확인
mysql> show databases
접속 가능한 사용자 추가하기
mysql> create user 'quizowner'@'localhost' identified by '비밀번호';
외부 접속 허용을 위한 DB 권한 부여하기 (DBeaver 연동을 위해)
mysql> grant all privileges on *.* to 'quizowner'@'localhost';
mysql> grant all privileges on newquizdb.* to 'quizowner'@'localhost';
서비스에 필요한 table 생성하기
// 우선 use 명령어를 사용하여 추가하려면 DB를 활성화
mysql> use newquizdb;
table 생성
mysql> CREATE TABLE `manager` (
`mid` INT NOT NULL AUTO_INCREMENT,
`createdAt` DATE NOT NULL,
`editedAt` DATE NOT NULL,
`id` VARCHAR(256) NOT NULL,
`pwd` VARCHAR(512) NOT NULL,
`nick` VARCHAR(256) NULL,
`profile` VARCHAR(256) NULL,
`level` INT NOT NULL,
CONSTRAINT quiz_pk PRIMARY KEY(mid));
mysql> CREATE TABLE `quiz` (
`qid` INT NOT NULL AUTO_INCREMENT,
`createdAt` DATE NOT NULL,
`contents` VARCHAR(256) NOT NULL,
...
newQuiz 프로젝트에 localDB 연동하기
프로젝트에 “config” 폴더 만들고 “db.js” 파일 생성한 후에 newquizdb 연동을 위해 아래와 같이 코딩
이후, index.js 파일에서 호출 및 connect 처리
// mysql
var dbConfig = require(__dirname + '/config/db.js');
var conn = dbConfig.init();
dbConfig.connect(conn);
여기까지 했으면 이제 아래와 같이 정보를 불러오거나 저장하는 것이 가능해집니다.
// 읽기
app.get('/categories', function(req, res){
var sql = 'SELECT * FROM category';
conn.query(sql, function (err, rows, fields) {
if(err) console.log('query is not excuted. select fail...\n' + err);
else res.render(__dirname + '/view/cate.ejs', {list: rows});
});
});
// 쓰기
app.post('/addCate', function(req, res){
var body = req.body;
console.log(body);
var sql = 'INSERT INTO category VALUES(?)';
var param = [body.cate];
console.log('addCate sql: ' + sql);
conn.query(sql, param, function(err){
if(err) console.log('query is not excuted. insert fail...\n' + err);
else res.redirect('/categories');
});
});
localDB와 DBeaver 연동하기
이전 글에서 설치한 DBeaver 실행 후 “데이터베이스(D)”의 “새 데이터 베이스 연결” 버튼 선택
MySQL 선택하고 Next 버튼 선택
Database 이름과 userName 그리고 password를 모두 입력 한 후 하단 왼쪽 “Text connection…” 버튼 선택
정상적으로 연결되는 것을 확인하고 “Finish” 버튼을 눌러 연결 생성
연결된 DB가 아래와 같이 보이면 연결 완료!!!
'학습' 카테고리의 다른 글
node.js로 웹서비스 만들기 (4. Router 분산을 통한 복잡도 관리) (0) | 2023.07.03 |
---|---|
node.js로 웹서비스 만들기 (3. 기본적인 mysql query) (0) | 2023.07.01 |
node.js로 웹서비스 만들기 (1. 개발 환경 구축) (0) | 2023.06.27 |
Android 13 - 번외 (테마 앱 아이콘 만들기) (0) | 2022.08.01 |
Android 13 - 8편 (새로운 기능: 기타) (0) | 2022.07.29 |