응용 S/W 개발을 위해 MySQL Database 생성과 사용자를 생성해보자.
용어 정리
- DB (Database) : 조직의 여러 시스템이 공유할 수 있도록 저장된 데이터의 집합을 의미
- DBMS (Database Mansgement System) : 데이터베이스를 공유할 수 있도록 관리해 주는 소프트웨어 시스템
- RDB (Relational Database) : 관계형 데이타 모델에 기초를 둔 데이타베이스
- RDBMS (Relational Database Management System) : 관계형 데이터베이스를 생성하고 수정하고 관리할 수 있는 소프트웨어
예) Oracle, MySQL, MS SQL, PostgreSQL etc
- SQL (Structured Query Language) : 구조적 질의 언어로 관계형 데이터베이스 시스템에서 Data를 관리 및 처리하기 위해 설계된 언어
# 참고) Database 종류
- RDB : 관계형 데이타 모델에 기초를 둔 데이타베이스
- Nosql : Not Only SQL로 유연하게 데이터를 처리할 수 있다는 장점이 있지만 데이터 유실가능성 있음. DB의 종류로는 Key Value DB, Wide Columnar Store, Document DB, Graph DB가 있음
- Time Series Database(시계열DB) : 빠르고 정확하게 실시간으로 쌓이는 대규모 데이터들을 처리할 수 있도록 설계됨. 주로 시스템과 서비스 로그를 취합하여 대용량 데이터 분석에 활용함
etc..
<최근 DB Trande>
아래 그래프를 보면 최근 Time Series Database(시계열DB)의 증가세를 확인할 수 있다.
최근 현업에서는 MSA가 활성화 됨에 따라 구축하는 시스템에 따라 필요한 특징의 DB를 선택하여 개발하고 있는데 정형화된 데이터의 Transaction 처리를 위해서는 RDB, 비정형 대용량 데이터의 처리는 시계열DB를 선택하여 시스템을 구축하는 사례가 늘어나고 있다.

RDB 특징
- 모든 Data를 2차원 Table(entity)로 표현
- 테이블은 row(record/tuple)와 column(field/item/attribute)으로 이루어진 기본 데이터 저장 단위
- Database는 상호 관련이 있는 하나 이상의 Table로 구성됨
- Table 간의 관계(Entity Relationship)를 이용하여 Data를 효율적으로 관리 가능
- Data 관리가 쉽고, 확장이 용이함
1.Database 관리
- MySQL은 기본적으로 "mysql"이라는 Database로 관리함
- root User가 Database 관리 가능
1) MySQL root 사용자가 관리하는 Table 목록 보기 : mysql> SHOW TABLES;

2) Database 조회
- mysql> SHOW DATABASES;

3) Database 생성
- mysql> CREATE DATABASE TEST_DB;
4) Database 삭제
- mysql> DROP DATABASE TEST_DB;
- 이후 작업을 위해 다시 TEST_DB 생성
2. User 관리