책너두 6기 20일차

백은빈, 이성욱의 Real MySQL8.0 1권 p.205 ~ p.216

내용정리

07 데이터 암호화

7.3.3 테이블스페이스 이동

  • 테이블을 다른 서버로 복사할 떄 혹은 특정 테이블의 데이터 파일만 백업 후 복구할 때 테이블 스페이스 이동 기능이 효율적이고 빠르다.
  • 익스포트(Export) : flush tables source_table for export;

7.4 언두 로그 및 리두 로그 암호화

  • 테이블 암호화를 적용해도 리두 로그나 언두 로그, 그리고 복제를 위한 바이너리 로그에는 평문으로 저장된다.
  • 리두 로그나 언두 로그를 평문으로 저장하다가 암호화가 활성화되면 그떄부터 생성되는 리두 로그나 언두 로그만 암호화해서 저장한다.
  • 해제해도 기존의 로그는 암호화된 상태로 남아있다.

7.5 바이너리 로그 암호화

  • 테이블 암호화가 적용돼도 바이너리 로그와 릴레이 로그 파일 또한 평문을 저장한다.

  • 이 암호화 기능은 디스크에 저장된 로그 파일에 대한 암호화만 담당한다.
  • 서버의 메모리 내부 또는 소스 서버와 레플리카 서버간의 네트워크 구간에서 로그 데이터는 암호화하지 않는다.

7.5.1 바이너리 로그 암호화 키 관리

  • 바이너리 로그와 릴레이 로그 파일의 데이터는 파일 키(FIle Key)로 암호화해서 디스크로 저장한다.
  • 파일 키는 “바이너리 로그 암호화 키”로 암호화해서 각 바이너리 로그와 릴레이 로그 파일의 헤더에 저장된다.
  • “바이너리 로그 암호화 키”는 테이블 암호화의 마스터 키와 동일한 역할이다.
  • 파일 키는 파일 단위로 자동으로 생성되어 해당 로그 파일의 데이터 암호화에만 사용된다.

7.5.2 바이너리 로그 암호화 키 변경

  • alter instance rotate binlog master key;로 하면 된다.

7.5.3 mysqlbinlog 도구 활용

  • 바이너리 로그 암호화 키는 그 바이너리 로그나 릴레이 로그 파일을 생성한 MySQL 서버만 가지고 있어서 mysqlbinlog 도구만으로 복호화할 방법이 없다.

08 인덱스

8.1 디스크 읽기 방식

8.1.1 하드 디스크 드라이브(HDD)와 솔리드 스테이트 드라이브(SDD)

  • HDD는 전자식 장치가 아니라 기계식 장치이다.
  • SSD는 전자식 저장 매체이다.
  • SDD는 기존 HDD에서 원판(데이터 저장용 플래터)를 제거하고 플래시 메모리를 장착한다.
  • 디스크의 헤더를 움직이지 않고 한 번에 많은 데이터를 읽는 것 : 순차(Sequential) I/O
  • SSD의 장점은 HDD보다 랜덤 I/O가 훨씬 빠르다.
  • DB 서버에서는 순차보단 랜덤이 많다.