DataGrip 사용법 + DockerReact+REST API 게시판 구현/BE & DB 개발환경 설정2021. 9. 16. 08:42
Table of Contents
Docker에 Local Maria DB 구동
- 우선 위에 있는 링크에 들어가서 docker desktop와 datagrip을 설치한 후에 power shell에서 아래 명령어를 입력해서 mariadb를 설치하자.
# mariadb 이미지 다운로드. 최초 1회만 실행해도 됨!
docker pull mariadb
# mariadb 구동
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mariadb_container mariadb
# option
-d : 백그라운드로 실행
-p 3306:3306 왼쪽은 로컬 포트이고 오른쪽은 docker에서 실행된 db 포트이다.
-e MYSQL_ROOT_PASSWORD = 1234 : -e는 환경 설정 옵션이다. root 패스워드를 1234로 설정한다.
––name = mariadb_container : 구동할 컨테이너 이름을 mariadb_container로 설정하였다.
- docker desktop을 실행시켜보면 아래처럼 mariadb_container라는 이름의 컨테이너가 생성된 것을 확인할 수 있다.
DB & USER 생성
- oracle은 관리자 계정이 생성되어서 관리자 계정을 통해 DB 생성을 할 수 있지만, mariaDB는 root 계정이 디폴트로 막혀있으므로 docker 내부로 진입하여 database와 user를 생성해야 한다.
- Powershell을 열고 아래 명령어들을 입력하자.
# docker 내부로 진입 (ubutu)
# -it 뒤에 위에서 만든 DB 컨테이너 이름을 적어줌.
docker exec -it mariadb_container /bin/bash
# vim 편집기 설치하기
apt-get update
apt-get install vim
# mysql shell 진입
# 프람프트가 나오면위에서 설정한 비밀번호 1234 입력
mysql -u root -p
# database 생성 및 한글 설정
# DB 이름은 duckDB
create database duckDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# USER 생성
# USER ID는 duckgugong, 비밀번호는 123456789
create user 'duckgugong'@'%' identified by '12345678';
# 사용자에게 권한 설정
grant all privileges on duckDB.* to 'duckgugong'@'%';
DataGrip으로 DB 연결하기
- DataGrip을 실행 시킨 후 아래처럼 MariaDB를 선택한다.
- User, Password, Database 부분에 각각 위에서 설정한 내용을 입력한 후 Test Connection을 클릭한다.
- 연결에 성공하면 아래처럼 나올 것이고, Apply를 클릭한 후에 OK 버튼을 클릭하자.
테이블 생성 (GUI)
- GUI를 이용해서 테이블을 생성하려면 DB를 우클릭한 후 아래 그림처럼 클릭하면 된다.
- Create New Table 창이 나오면 테이블 이름과 comment를 적어주자.
- + 버튼을 누르면 컬럼을 추가할 수 있다! 컬럼의 이름과 Type, Default값, comment 등을 적어주자.
- 또한, 컬럼을 추가할 때마다 하단 SQL Script가 자동으로 생성된다.
board & comment 테이블 만들어보기
- 아래 DDL문을 DataGrip의 GUI로 만들어보자.
- 테이블의 이름은 board이다.
-- auto-generated definition
create table board
(
id int auto_increment
primary key,
title varchar(100) null comment '제목',
content text null comment '내용',
created timestamp default current_timestamp() null,
updated timestamp null on update current_timestamp()
)
comment '게시판';
- 위의 board 테이블과 one to many 관계를 형성하는 comment 테이블을 만들어보자!
- foreign key는 board_id이고 board 테이블의 id를 가리킨다!
- 아래 DDL 구문도 GUI로 동일하게 만들어보자.
create table comment
(
id int auto_increment
primary key,
content text null,
created timestamp default current_timestamp() null,
updated timestamp null on update current_timestamp(),
board_id int null,
constraint comment_board_id_fk
foreign key (board_id) references board (id)
)
comment '댓글';
테이블 CRUD
- 원하는 테이블을 더블클릭 하거나 클릭 후 상단의 edit data 아이콘을 클릭 한 후, 나오는 화면의 상단의 + 아이콘을 클릭하면 새로운 행이 하나 추가된다. 내용을 입력 후 DB 아이콘을 클릭하면 commit 된다.
- delete 하는 방법은 원하는 행을 선택한 후 - 아이콘을 클릭한 후 DB 아이콘을 클릭하면 된다.
Digram 그리기
- 테이블의 관계를 한눈에 살펴보기 편하다.
- DB선택 후 우클릭 -> Digrams -> Show Visualization 선택
'React+REST API 게시판 구현 > BE & DB 개발환경 설정' 카테고리의 다른 글
개발환경 설정 (0) | 2021.09.16 |
---|
@덕구공 :: Duck9s'
주니어 개발자에욤
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!