데이터베이스 백업
전체 데이터베이스 백업 |
mysqldump -u아이디 -p --all-databases > 덤프파일명.sql |
특정 데이터베이스 백업 |
mysqldump -u아이디 -p --databases DB명 > 덤프파일명.sql |
특정 테이블 백업(데이터포함) |
mysqldump -u아이디 -p DB명 테이블명 > 덤프파일명.sql |
스키마만 백업 |
mysqldump -u아이디 -p --no-data... |
데이터만 백업 |
mysqldump -u아이디 -p --no-create-info... |
데이터베이스 복원
mysql -u아이디 -p < 파일명 |
DB전체 |
mysql -u아이디 -p DB명 < 파일명 |
특정 DB |
mysql -u아이디 -p DB명 테이블명 < 파일명 |
특정 TABLE |
데이터베이스 로그
-에러로그
: MySQL 구동과 모니터링, Query 에러에 관련된 메세지
- 일반로그
: 전체쿼리에 대해 General log를 활성화 시켜 저장가능
- 슬로우 쿼리 로그
: long_query_time에 설정된 시간 이상을 소요한 쿼리를 기록
- 이진로그/릴레이 로그
* 데이터베이스 파티셔닝
* VLDB(Very Large DBMS)
: 전체 DB가 하나의 DBMS시스템에 다 들어가기 힘든경우
: 테이블들을 여러 군으로 나눠 분산저장한다
: 하나의 테이블을 사전방식으로 나누어 저장한다
* 파티셔닝
: DBMS 레벨 분할
* 샤딩(Sharding)
: DBMS 외부에서 분할/응용레벨에서 구별해야함.
* 제약사항
* 테이블 단위 연산이 힘들어짐(비용문제)
: 조인연산 어려움 -> 정규화 문제
: 역정규화 -> 중복허용으로 해결
* 외래키의 효용문제
: 레코드 추가시 참조무결성 조건 체크 -> 시스템 부담증가로 수동전환
: CRUD시 위치를 인식해야함.(파티셔닝/샤딩이 다름)
* 파티셔닝
*이점
: 부분탐색으로 인한 성능 증가
: 전체 데이터 손실 가능성이 줄어듬
: 파티션 별 백업/복구 가능
: 파티션 단위로 I/O분산가능 WRITE성능 증가<-- 가장 중요
* 방식
: 범위 기반 - a-m/n-r/s-z 혹은 날짜 기준
: 각 파티션별로 양이 다를 수 있는 문제가 있음
: 해시 - 해시함수 파티션별로 크기를 비슷하게 나눔
: 리스트 - 특정 칼럼 기준
: 컴포지트(섞은거) - range-hash/range-list
* MySQL 파티셔닝
: 5.x 지원
: 최대 1024개
: 모든 파티션은 동일한 스토리지 엔진을 사용해야함
: 외래키/Full text 인덱스 지원하지 않음
: 파티션 값은 정수
파티션 추가/삭제
ALTER TABLE 테이블명 ADD PARTITION( PARTITION p4 VALUES LESS THAN(정수) );
ALTER TABLE 테이블명 DROP PARTITION p4
파티션 분할/병합
ALTER TABLE 테이블명
REORGANIZE PARTITIOIN p3 INTO(
PARTITION p3 VALUES LESS THAN(2015),
PARTITION p4 VALUES LESS THAN MAXVALUE);
ALTER TABLE 테이블명
REORGANIZE PARTITION p2,p3 INTO(
PARTITION P23 VALUES LESS THAN (2014);
데이터 베이스 복제(Replication)
: DBMS의 내용을 복제하여 동일한 DB내용을 유지
: 두개 이상의 DBMS시스템을 마스터/슬레이브로 나누어 마스터 DBMS->슬레이브DBMS로 SQL 쿼리 복제(SELECT 제외)
: 데이터 업데이트(CUD)는 마스터에서
: 읽기(R)는 슬레이브에서 함.
: 읽기 성능 향상
: 웹서버 시스템 성능확장에 적합
* 로그기반 복제
: Statement Based
: SQL문장을 복제하는 경우, 결과가 달라질수있음(시간,UUID...)
: Row Based
: SQL문장에 따라 변경된 내용만 기록함. 데이터가 많이 변경되면 데이터가 커짐
: Mixed
: 두방식을 혼합한것
: MySQL 서버가 두대 필요하다
'프로그래밍 > RDBMS - MySQL' 카테고리의 다른 글
Bulk Insert (0) | 2017.03.29 |
---|---|
Full Text Search (0) | 2017.03.29 |
META DATA (0) | 2017.03.29 |
INDEX (0) | 2017.03.28 |
DCL(Data Control Language) 명령어 (0) | 2017.03.27 |