본문 바로가기

컴퓨터학원(복습)(수료)

자바(JAVA)기반 안드로이드 웹&앱 개발 35일차 (데이터베이스 보안과 관리, 백업, 복원)

오늘은 NCS 평가와 DB 남은 부분, 그리고 실습을 하여서 개념적인 내용은 적습니다.

데이터베이스 보안과 관리

데이터베이스 관리의 개요

1. 데이터베이스 관리의 중요성(생략)

2. 데이터베이스 관리 업무

.1) 서비스 관리

.2) 점검 및 모니터링

.3) 장애 대처

.4) 백업과 복원

.5) 사용자 관리 및 권한 관리

.6) 시스템 데이터베이스 관리

.7) 사용자 데이터베이스 관리

.8) 데이터베이스 저장공간 관리

.9) 인덱스 관리

3. 데이터베이스 관리 기본 명령어

SHOW DATABASES; // DB에 있는 데이터베이스가 어떤 것있는지 보여줌

USE mysql; // 데이터베이스 mysql을 사용하는 명령을 내린다.

SHOW TABLES; // 데이터베이스 mysql에 있는 테이블들을 보여준다.

DESC User; // 사용자 정보를 저장하는 User 테이블의 구조를 살펴본다.

SELECT * FROM User; // 사용자 계정 테이블 User의 내용을 확인하고 사용자 계정을 살핀다.

 

보안과 권한

1. 로그인 사용자 관리

.1) CREATE USER : 사용자 계정을 생성하는 명령어

CREATE USER [사용자이름] IDENTIFIED BY [비밀번호];

.2) DROP USER : 사용자 계정을 삭제하는 명령어

DROP USER [사용자이름];

2. 권한관리

.1) 권한 허가 – GRANT

GRANT 권한 [(컬럼리스트)] [ON 객체] TO {사용자|롤} [WITH GRANT OPTION]

..(1) 권한 : 허가할 권한을 지정한다.

..(2) 컬럼리스트 : 사용 권한을 부여할 테이블의 열 이름들을 지정한다.

..(3) 객체 : 사용 권한을 부여할 객체를 지정한다. 테이블이나 뷰 등의 이름이 올 수 있다.

..(4) TO 사용자

.....- 권한을 부여할 사용자를 지정한다. 또한 권한의 묶음인 롤(ROLE)에 권한을 추가할 수도

........있다.

..(5) WITH GRANT OPTION

.....- 허가받은 권한을 다른 사용자에게 다시 부여할 수 있다.

.....- 이 옵션이 없으면 권한의 재부여는 허가하지 않는다.

.2) 권한 취소 – REVOKE

..(1) GRANT 문으로 허가한 권한을 취소, 회수하는 명령이다.

..(2) 권한을 부여한 사용자는 부여한 권한의 범위 내에서 권한을 취소할 수 있다.

REVOKE 권한 [컬럼리스트] [ON 객체] FROM {사용자|롤}

 

백업과 복원

1. 백업의 종류

.1) 전체 백업

..(1) DB 개체, 시스템 테이블, 데이터 등 DB 전체를 백업하는 것이다.

..(2) 백업 시점의 DB 복사본을 만들어 두는 것으로 이해하면 된다.

.2) 차등 백업

..(1) 전체 백업을 수행한 이후 변경된 데이터만 저장한다.

..(2) 전체 백업으로 DB 복사본을 만든 후 그 복사본과 차이가 있는 변경 부분만 백업

.3) 증분 백업

..(1) DB에서 수항핸 작업을 기록하고 있는 트랜잭션 로그 파일을 저장하는 방법

..(2) 로그 파일은 데이터의 입력, 수정, 삭제에 관련된 질의를 순서대로 기록하고 있다.

..(3) 백업은 최초에 전체 백업을 수행한 후 로그 백업을 수행한다.

..(4) 로그 백업은 로그만 저장하므로 빠르게 수행할 수 있으나 복구 시 많은 시간이 소요됨

 

2. 데이터베이스 백업 방법

.1) 물리적 백업

..(1) 데이터베이스를 구동하기 위해 필요한 모든 파일을 물리적으로 ‘복사’하는 방법

,,(2) 콜드 백업

....- DB를 셧다운 한 후에 백업을 진행하는 방법

..(3) 핫 백업

....- 운영 중인 DB의 파일을 복사하는 바업ㅂ이다.

.2) 논리적 백업

..(1) DB가 가지고 있는 콘텐츠(내용)를 별도의 파일로 옮겨 백업하는 방법