us1s

MySQL 5.6_dump 본문

sOFT wARE

MySQL 5.6_dump

늑머 2020. 6. 26. 00:09

 

실습환경
VMware                                           본체
CentOS 6.9                                       CPU 3700X + Ram 32GB (3200오버)
MySQL 5.6.14 (수동설치)                      저장공간 M.2 SSD

 

MySQL 5.5 까지는 InnoDB_page_size가 16KB로 고정, 이를 조정하기 위해서는 MySQL 서버를 다시 컴파일해야 했다.

 

  • 사이즈가 작은 레코드를 2~3건씩 읽어가는 쿼리가 아주 빈번히 실행되는 시스템에서 16KB의 page size는 많이 큰 편이다. 즉, 실제 레코드가 3~40 바이트를 읽기 위해서 16KB 페이지 단위로 디스크에서 읽고 그 데이터가 변경되면 16KB 통째로 디스크에 플러시하는 것은 상당히 불합리적이다.

 

  • MySQL 5.6 버전 InnoDB 스토리지 엔진에서는 데이터나 인덱스 페이지 크기를 조정할 수 있다.
    • 허용 크기는 4KB, 8KB, 16KB

그렇기에 4KB 단위의 Page size로 실습해보자.

 

 

 

0-1. 모든 데이터를 덤프하는 방법은 다음과 같다.

./mysqldump u 계정 -p --all-database > 덤프파일명.sql

 

 

0-2. DB명으로 덤프하는 방법은 다음과 같다.

./mysqldump u 계정 p db> 덤프파일명.sql

 

 

0-3. 특정 테이블만 덤프 받는 방법은 다음과 같다.

./mysqldump -u root -p dbtable> db.table.sql

 

 

1. 모든 데이터를 덤프한다.

 

 

2. 덤프된 파일을 확인하였다.

 

 

3. 현재 페이지 사이즈는 다음과 같다.

 

 

 

3-1. 이를 4KB로 수정한 뒤, Mysql 서버를 restart한다.

 

 

 

4. 에러가 발생할 것이다.

 

 

 

4-1. 해당 에러는 기존 테이블 스페이스와 redo log가 남아 있기 때문이다. 삭제해준다.

 

 

5. 삭제 후 restart한 모습이다.

 

 

6. 해당 파일을 다시 복원할 수 있다.

 

 

 

'sOFT wARE' 카테고리의 다른 글

네트워크 기초_02  (0) 2020.06.27
SQL Injection_01  (0) 2020.06.26
네트워크 기초_01  (0) 2020.06.25
버퍼 오버 플로우_01  (0) 2020.06.23
어셈블리_기초_01  (0) 2020.06.22