본문 바로가기
갭알 ☠️/리눅스

데이터베이스 서버 (Database Server) 1

by Niyaoh 2020. 12. 7.

Database Server

- 개요

  웹에서의 사용자 정보를 기록, 저장하고 관리할 수 있는 서비스를 제공

  개인 정보가 저장되어있기 때문에 보안은 필수

 


- 설치

  패키지(mariadb*) / 포트(3306/tcp) / 서비스(mysql) / 데몬(mariadb[.service])

  (rpm -qa | grep mariadb | nl 사용하면 설치된 패키지 개수 볼 수 있음)

 


- 설명

DB 서버를 처음에 배우면서 헷갈리는 부분 중 하나는, 필드와 테이블이 무슨 차이인지를 모른다는 것이다.

필드는 결과값을 가지지만 테이블은 결과값을 가지지 않는다.

즉, 결과값을 가지고 있는 필드들의 모임이 테이블이라고 생각하면 된다.

 

D > T > F > V 라고 표시한 이유는 DB 서버를 만들면서 아주 중요한 개념이기 때문이다.

Database를 만드려면 Table이 필요하다. Table을 만드려면 Field가 필요하고, Field를 만드려면 Value가 필요하다.


- 기본 명령어 show, use, desc

 

먼저 mysql에 들어가보자.

mysql -u root -p mysql 에 대해서 잠깐 설명하자면,

-u 와 -p 는 옵션이다. 그 뒤에 root 와 mysql 이란 값이 온 건데, 해석하자면

'마스터' 데이터베이스인 mysql 에는 오로지 관리자 root만 접근할 수 있다는 뜻이다.

참고로 mysql에 있는 root는 DB 서버 관리자이다. 현재 시스템에 로그인한 root랑은 별개.

끝에 /var/lib/mysql/mysql.sock 이라고 에러가 뜬 것은, 주로 mysql 데몬을 실행하지 않았을 때 뜨는 에러창이니 잘 확인할 것.

 

그 뒤에 패스워드를 지정해야 하는데 일단 초기 비밀번호 없이(그냥 Enter) 했다.

 

DB 서버를 작업하면서 반드시 명심해야 할 두 가지.

1. 모든 명령어 뒤에는 반드시 세미콜론(;)을 입력해야 한다.

2. 명령어를 입력할 땐 가급적 줄을 넘기지 말 것. (줄을 넘기기 전까지만 입력하고, -> 화살표에다가 나머지 명령어를 입력)


1. 기본 명령어 show

show databases; 현재 있는 데이터베이스들을 보여준다.

2. 기본 명령어 use

4개의 데이터베이스들 중에 mysql에 들어가고 싶다면,

use mysql; 명령어를 입력해서 들어가면 된다. (※ use 명령어는 데이터베이스 열 때만 쓸 수 있는 명령어)

 

 

mysql 데이터베이스에 들어왔으니 테이블을 한 번 보자.

show tables; 

mysql 안에 있는 테이블들이 나타나는 것을 확인할 수 있다.

 

그 중에 user 와 db 테이블이 상당히 중요하다.

user 테이블 : 사용자 생성 테이블 (사용자는 user 테이블 안에 만들어진다)

db 테이블 : 사용자와 그 사용자가 사용할 데이터베이스를 연결시켜주는 테이블

 

 

3. 기본 명령어 desc

desc 명령어는 테이블 속 필드들의 타입을 확인할 수 있는 명령어다.desc db; 를 입력해서 db 안의 내용을 보자.

맨 윗 줄에 Host라는 필드의 타입이 60바이트로 이루어졌다라는 것을 확인할 수 있다.


이제 데이터베이스를 새로 만들어보자.

먼저 create database 명령어를 통해 dbsamadal을 만들었더니 정상적으로 잘 만들어졌다.

 

그 뒤에 이제 테이블을 만들어야 하는데,

필드가 없다고 못 만든다고 한다. (뒤에 나온 column이 필드랑 같은 말이다)

그래서 옵션을 넣은 필드와 같이 만들어 보도록 하겠다.

 

create table tbsamadal (num int(10), name char(20));

여기서 num과 name은 필드, int(10)과 char(20)은 타입이다.

 

그 뒤에 테이블을 확인해보면

tbsamadal 테이블이 정상적으로 만들어진 것을 확인할 수 있다.

'갭알 ☠️ > 리눅스' 카테고리의 다른 글

데이터베이스 서버 (Database Server) 3  (0) 2020.12.08
데이터베이스 서버 (Database Server) 2  (0) 2020.12.08
윈도우 서버 호스트 지정하기  (0) 2020.12.04
네임서버 구축 정리  (0) 2020.12.02
Web Server  (0) 2020.11.27

댓글