• DBA를 위한 MySQL 운영 기술
  • 모니터링, 백업/복구, 이중화, 도구와 기법

  • 조영재, 홍정민 지음

  • 데이터 & 데이터베이스 시리즈 _ 012
  • ISBN: 9791158390044
  • 35,000원 | 2015년 07월 28일 발행 | 620쪽



MySQL을 쉽게 시작할 수 있는 정보를 드립니다!

『MySQL 운영 기술』은 데이터베이스 관리자가 MySQL을 안정적으로 운영하기 위해 고려해야 할 모니터링, 이중화, 백업 및 복구 등의 내용으로 구성돼 있다. MySQL을 처음 도입하려고 검토하고 있거나 현재 서비스를 MySQL 기반으로 운영 중이라면 이 책을 통해 서비스를 좀 더 안정적이고 효과적으로 운영하는 데 도움이 될 것이다.

★ 이 책에서 다루는 내용 ★

  • MySQL 서버 모니터링(Cacti를 활용한 모니터링 시스템 구축)
  • MySQL 백업 복구(mysqldump, Xtrabackup)
  • MySQL 서버 이중화(레플리케이션, MHA)
  • MySQL 운영 도구(Percona Toolkit, Anemometer)

책 속으로

MySQL 운영 경험이 전혀 없는 상황이라면, 당장 실 서비스에 투입하기 위해 MySQL 운영 환경을 구성해야 한다면 어디서부터 시작해야 할지 난감할 수 있다. 다수의 사용자가 동시다발적으로 서비스를 사용하는 환경이 됐을 때 성능상으로 문제는 없을까? 문제가 생긴다면 어디서 문제가 발생했는지 어떻게 확인할 수 있을까? 만약 장애 상황으로 데이터가 유실된다면 어떻게 대처할 수 있을까? 실제로 서비스를 운영하는 중에는 여러 다양한 문제가 갑작스럽게 발생하기도 하지만 문제가 될 수 있는 상황에 대비하기 위해 미리 준비할 수 있는 기본적인 사항들도 있다.

이 책에서는 MySQL 운영에 필요한 기본적인 기술에 대해 크게 네 가지 범주로 나눠서 살펴본다.

1부, ‘MySQL 서버 모니터링’에서는 MySQL을 서비스에 투입하기 전에 문제가 발생할 수 있는 원인을 확인하고 대처하기 위해 모니터링 환경을 구성한다.

2부, ‘MySQL 백업 복구’에서는 DBA라면 반드시 숙지해야 할 백업 복구 방법을 익히기 위해 백업에 사용하는 도구를 소개하고 사용법을 설명한다.

3부, ‘MySQL 이중화’에서는 장애로 인해 서비스가 중단되는 시간을 최소화하고 안정적인 운영을 위한 MySQL 이중화 방법을 설명한다.

4부, ‘MySQL 운영 도구‘에서는 기본적인 MySQL 운영 기술에서 한 단계 더 나아가 효과적인 운영에 도움을 줄 수 있는 몇 가지 도구를 알아본다.

저자들은 이 책을 쓰면서 "MySQL을 쉽게 시작하려면 기본적으로 어떤 것들을 할 수 있을까?"를 생각하면서 주제를 선택했다. 기술적인 내용을 깊게 분석하고 설명하는 책과 자료는 이미 국내외에 많이 있다. 그래서 원론적인 내용은 아니더라도 내가 지금 당장 해볼 수 있는 실용적인 내용을 이 책에 담고자 했다. 그래서 이 책은 MySQL을 한번 사용해보고 싶은, MySQL을 이용해 개발 또는 운영 환경을 구성하고 싶은데 어떻게 시작해야 할지 망설이는 분에게 일독을 권장한다.

-- 서문 중에서

조영재

자바와 닷넷 개발자로 시작하여 현재 MySQL/MariaDB DBA로 근무하면서 MySQL 인프라 아키텍처 설계 업무도 병행하고 있다.

홍정민

컴퓨터를 전공하였고 IT 업계에 Oracle DBA로 입문하여 DB 운영, 데이터마이그레이션, 모델링 등의 업무를 수행하였다. 현재는 MySQL/MariaDB DBA로 근무하고 있다.

  • [1부] MySQL 서버 모니터링
    • ▣ 01장: MySQL 서버 모니터링의 필요성과 고려사항
      • 1.1 장애 대비와 장애 원인 분석
      • 1.2 기간별 패턴 분석
      • 1.3 용이한 가독성과 사용 편의성
      • 1.4 다수의 서버에 대한 모니터링 효율성
      • 1.5 전용 담당자가 없는 환경에서의 모니터링 효율성
      •  
    • ▣ 02장: MySQL 서버 모니터링 요소
      • 2.1 운영체제 모니터링 요소
      • 2.2 MySQL 모니터링 요소
      •  
    • ▣ 03장: MySQL 서버 모니터링 방법
      • 3.1 명령어 및 스크립트 이용
      • 3.2 배치 스크립트와 템플릿(Excel) 이용
      •  
    • ▣ 04장: MySQL 서버 모니터링 도구 비교
      • 4.1 MySQL 엔터프라이즈 모니터
      • 4.2 Monyog
      • 4.3 Cacti
      •  
    • ▣ 05장: MySQL 서버 모니터링 방식 비교
      • 5.1 에이전트/푸시 방식
      • 5.2 비에이전트/팝 방식
      •  
    • ▣ 06장: MySQL 서버 모니터링 시스템 구축
      • 6.1 Cacti 소개
      • 6.2 Cacti 설치
      • 6.3 Percona 모니터링 플러그인
      • 6.4 Percona 모니터링 템플릿 적용 - 리눅스
      • 6.5 Cacti 최적화
      • 6.6 플러그인 설치와 적용 - Spine
      • 6.7 플러그인 설치 및 적용 - Realtime
      • 6.8 Percona 모니터링 템플릿 적용 - MySQL
      • 6.9 플러그인 설치 및 적용 - Settings
      • 6.10 플러그인 설치 및 적용 -Thold
      •  
    • ▣ 07장: MySQL 서버 튜닝 포인트
      • 7.1 리눅스 튜닝 포인트 – 모니터링 결과 분석
      • 7.2 MySQL 튜닝 포인트 - 모니터링 결과 분석
      •  
  • [2부] MySQL 백업 복구
    • ▣ 08장: MySQL 백업 도구 소개
      • 8.1 mysqldump
      • 8.2 Percona Xtrabackup
      •  
    • ▣ 09장: MySQL 백업 도구 사용법
      • 9.1 mysqldump
      • 9.2 Percona Xtrabackup
      •  
    • ▣ 10장: 상황별 백업과 복구
      • 10.1 mysqldump를 이용해 백업 및 복구하기
      • 10.2 Percona Xtrabackup을 이용한 백업 및 복구
      • 10.3 시점 복구하기 - Point in time 복구
      •  
    • ▣ 11장: 백업 복구 시 주의 사항
      • 11.1 mysqldump 사용 시 주의 사항
      • 11.2 Percona Xtrabackup 사용 시 주의 사항
      •  
  • [3부] MySQL 서버 이중화
    • ▣ 12장: 레플리케이션(Replication)
      • 12.1 레플리케이션 개요
      • 12.2 레플리케이션 설정 - 마스터 DB
      • 12.3 레플리케이션 설정 - 슬레이브 DB
      • 12.4 레플리케이션 구성
      • 12.5 실무에서 사용하는 레플리케이션 모니터링
      •  
    • ▣ 13장: 레플리케이션 응용
      • 13.1 개별 데이터베이스 레플리케이션
      • 13.2 개별 테이블 레플리케이션
      • 13.3 와일드카드를 이용한 테이블 레플리케이션
      • 13.4 데이터베이스명을 변경한 레플리케이션
      • 13.5 체인 레플리케이션
      •  
    • ▣ 14장: 레플리케이션 구성 시 주의사항
      • 14.1 바이너리 로그 포맷 차이에 따른 주의사항
      • 14.2 바이너리 로그 포맷이 STATEMENT일 경우 쿼리 주의사항
      • 14.3 바이너리 로그 포맷이 ROW일 경우 쿼리 실행 시 주의사항
      • 14.4 바이너리 로그 포맷이 MIXED일 경우 쿼리 실행 시 주의사항
      • 14.5 DB 버전 간의 레플리케이션 호환과 관련된 주의사항
      • 14.6 기타 주의사항
      • 14.7 레플리케이션 문제 해결
      •  
    • ▣ 15장: 세미 싱크 레플리케이션
      • 15.1 세미 싱크 레플리케이션 개요
      • 15.2 세미 싱크 레플리케이션 구성
      • 15.3 세미 싱크 레플리케이션 사용 시 주의사항
      •  
    • ▣ 16장: MySQL HA: 마스터-마스터 레플리케이션
      • 16.1 마스터-마스터 레플리케이션 개요
      • 16.2 마스터-마스터 레플리케이션 구성
      • 16.3 마스터-마스터 레플리케이션 응용
      • 16.4 마스터-마스터 레플리케이션 사용 시 주의사항
      •  
    • ▣ 17장: MySQL HA: MHA
      • 17.1 MHA 개요
      • 17.2 MHA 아키텍처
      • 17.3 MHA 구성하기
      • 17.4 MHA 모니터링 시작하기
      • 17.5 기타 주의사항
      •  
  • [4부] MySQL 운영도구
    • ▣ 18장: Toolkit
      • 18.1 Percona Toolkit 소개
      • 18.2 Percona Toolkit 설치
      • 18.3 Percona Toolkit 사용 및 활용
      •  
    • ▣ 19장: Anemometer
      • 19.1 Anemometer 소개 및 사용법
      • 19.2 Anemometer 설치
      • 19.3 Anemometer 활용
  • [부록] MySQL 서버 모니터링 지표
    • A.1 리눅스 모니터링 지표
    • A.2 MySQL 모니터링 지표
  • 111쪽, 두 번째 단락

    /home 디렉터리의 파일시스템은 /dev/ada6이므로 ==> /home 디렉터리의 파일시스템은 /dev/sda6이므로

    Volume란에 /dev/ada6를 입력한다. ==> Volume란에 /dev/sda6를 입력한다.

 

  • 111쪽, 그림 6-26을 다음 그림으로 대체

    그림 6-26

 

  • 316쪽

    슬레이브 DB에서 replication@10.10.11.33으로 ==> 슬레이브 DB에서 replication@10.10.11.133으로

예제코드 관련 깃허브 페이지

관련 글


엮인 글

엮인 글 주소: http://wikibook.co.kr/mysql-for-dba/trackback/