DB Server 이론 정리
DB server
- Database Server; database가 모여있는 서버
- 컴퓨터의 보급과 인터넷의 확장, 스마트폰의 등장으로 무수히 많은 데이터가 생성됨
-> 데이터를 효율적으로 관리하기 위해 Database를 사용
- CentOS는 6버전까지는 mysql을 기본 탑재했으나 7버전부터 mariadb로 변경
- 정보
패키지 : mariadb-*
데몬 : mariadb
방화벽 : service=mysql, port=3306/tcp
설정파일 : /etc/my.cnf <- DB servder 동작 자체에 대한 설정
- 접속 명령
mysql -u DB사용자명 -p [사용할 database]
- 용어 정리
SQL문 : DB서버 내부에서 사용하는 명령어
database : table들의 집합체
table : 실제 데이터가 저장되는 영역, field와 value로 구분
field : table에 입력할 data의 종류와 길이를 지정(=column)
value : table에 입력되는 data
- 명령어
system clear; = (ctrl + l) : clear 명령어
select version(), current_date, current_time; : 생성한 DB서버의 버전과 생성 날짜, 시간을 확인하는 명령어
show databases; : Database 목록 출력
show tables; : 내가 속해있는 database가 가지고 있는 table 목록 출력
\c : 명령어를 완전히 잘못 입력했는데 다음줄로 넘어갔을 때 사용 (cancle)
create database DB명; : 해당 database 생성
use DB명; : 해당 database로 변경
create table tabl명(field명 자료형(크기),...); : 해당 table 생성
* 이 때 크기는 byte 단위로 RAM에서 사용되는 크기가 아니라 하드웨어에 저장되는 크기임.
하드웨어에 저장될 때 문자, 숫자, 특수문자 등은 1byte로 저장됨. 따라서 int(3)은 3byte 숫자 3개를 말함.
desc table명; : 해당 table 확인
drop table table명; : 해당 table 삭제
database database명; : 해당 database 삭제
select data명
from table명
where 조건;
delete
from table명
where 조건;
update table명 set field명=수정할값
where 조건;
insert into table명(vlaue값을 넣을 filed) values(table에 넣을 value값을 순서대로 입력);
alter table table명 modify field명 수정값
database database명 modify 수정할대상 수정값
> modify 말고도 add, drop, change 등 사용가능
grant all on <DB명>.* to <user명>@localhost identified by '비밀번호 hash';
grant all on <DB명>.* to <user명>@'%' identified by '비밀번호 hash';
* 값 입력할 때 문자는 ''로 묶어주기
flush privileges 권한 변경 사항을 적용시킴
초기상태 필수 작업
- user table root 사용자 접속 비밀번호 설정하기
- user,db table 익명 사용자 삭제하기
* 초기 상태 필수 작업 실습
mariadb 패키지 설치 후 진행
서비스 실행 후 처음 접속 시 비밀번호는 설정되어 있지 않다
mysql database의 user table을 확인 해보면
root 사용자의 비밀번호가 설정이 안되어있는 것을 확인할 수 있다
비밀번호를 설정해주고 익명 사용자를 삭제 해준다