DB server

2023. 10. 17. 16:03리눅스/CentOS

DB server

 - database server; 데이터베이스를 모아놓은 서버

 - 스마트폰의 개발 및 보급에 따라 인터넷의 활용이 급속도로 늘어나면서 무수히 많은 데이터 생성
> 많은 데이터들을 효율적으로 저장 및 관리하기 위해 database를 사용

 - CentOS 6버전까지는 무료로 사용 가능한 mysql이라는 DB server를 설치 CD에 기본 탑재했으나
   mysql이 유료화되면서 CentOS 7버전부터는 mysql과 비슷한 mariadb 사용

 - 정보
패키지 : mariadb-*
데몬 : mariadb
방화벽 : service=mysql
설정파일 : /etc/my.cnf ; DB server 실행 자체에 대한 설정
  (내부 database) mysql ; DB server의 각종 설정

 - 접속 명령어
mysql -u 사용자명 -p [<database 이름>]

 - 용어 정리
SQL문  : DB server에서 사용하는 명령어
database : table들의 집합체, DB server 내부의 가장 큰 단위
table  : 실제 데이터가 저장되는 최소 단위
field  : table 안에 저장되는 데이터들의 종류(= column)
value  : field에 맞춰서 table에 저장되는 데이터

 

패키지 설치

 

 

기본 명령어

mysql은 각종 설정에 관한 db

 

 

접속완료[뒤는 쓰고있는 db명표시 / 없을 시 none으로 표시]

 

 

화면 지우기 ['ctrl + l'도 가능]

 

 

쓸 수 있는 db 목록

 

 

현재 사용 중인 db에 어떤 table이 있는지 확인

 

 

사용자 정보를 담아 놓는 table [사용자가 db 서버 전체에서 어떤 권한을 갖는지 지정]

 

 

사용자가 특정 db에 대해서 어떤 권한을 갖는지 지정하는 테이블

 

 

db 생성

 

 

확인

 

 

설정 db에서 다른 db로 이동

 

 

어떤 table도 없음

 

 

table 생성 시 필드 필요

 

 

table 생성 [필드명 / 데이터형식(데이터크기byte)]

 

 

table 정보 확인

 

 

table 지우기

 

 

db 지우기 [db 사용 중에도 지우기 가능]

 

 

테이블 user

select <필드명> from <table명>

 

 

table user의 필드 확인

 

 

중요 필드 [PRI; 고윳값]

 

 

각 권한

 

 

사용자 확인 [user필드 비어있을 시 익명 사용자]

 

 

update <table명> set <필드=필드('값')> where <조건>

 

 

확인 [비번은 동일한 값 출력]

 

 

익명유저 삭제 [delete from <테이블명> where <조건>]

 

 

확인

 

 

insert into <table명> values ( ); [이 형식은 필드 갯수 맞춰야 함]

 

 

다른 형식으로 계정 useritbank 생성

 

 

확인 [useritbank의 권한 모두 no]

 

 

테이블 db

데이터베이스 dbitbank 생성

 

 

테이블 db의 필드 확인

 

 

중요 필드

 

 

테이블 db 내 데이터 삭제 [끝에 ; 추가]

 

 

데이터 확인

 

 

데이터 삽입을 통해 useritbank에 권한 부여

 

 

설정 바꿨기 때문에 데몬 재실행

 

 

useritbank 접속

접속 [비번 itbank]

 

 

사용 가능 DB 확인

 

 

dbitbank 사용 가능

 

 

명령어 alter

alter table <이름> modify <필드명> <자료형(크기)>;

 

 

add <필드명> <자료형(크기)> [first는 필드 첫번째에, 빈 칸은 필드 마지막에 생성]

 

 

change <필드명> <바꿀 이름> <자료형(크기)>;

 

 

drop 필드명;

 

 

한글 입력 설정

root로 접속

 

 

db에서 퍼센트(%)는 별표(*) 역할

 

 

mariadb 설정 파일

 

 

추가 후 데몬 재실행

 

 

변경 확인

 

 

확인 [Db characterset이 latin1]

 

 

기존 db도 문자열을 바꿔보자

 

 

기존 tb도 바꿔보자

 

 

문제

<실습1>

DB server 내부 itbank 관련된 모든 내용 삭제 후 진행[user table에서 root 삭제 조심!]

D/B : dbtest

user : usertest
root로 로그인하여 진행
------------------------------------------
usertest로 로그인하여 진행

table : tbtest

field : num, name, addr, phone

values : 3개 이상[insert into tbtest values (1, 'kg', ...), (2, 'it', ...); 이렇게 여러개 입력도 가능]

 * 확인은 show databases, select * from tbtest 결과를 한 화면에 띄우기
   데이터에 한글을 입력 시 '???' 와 같이 모두 깨져서 출력
   int형 자료에 '010-...'을 입력하면 '10'이 출력



<실습2>

1. 스냅 샷 되돌리기

useritbank 만들어서 dbitbank 대상으로 모든 권한 부여

useritbank 접속해서 권한 확인(중요!)

 * root 암호 지정 및 익명 사용자 관련 정보 삭제

'리눅스 > CentOS' 카테고리의 다른 글

XpressEngine  (0) 2023.10.17
phpMyAdmin  (0) 2023.10.17
DNS, httpd 결합 실습  (2) 2023.10.16
Web Server  (0) 2023.10.16
DNS  (0) 2023.10.16