이미 소장하고 있다면 판매해 보세요.
|
PART I MySQL 시작
Chapter 1 MySQL 설치 _1.1 MySQL의 포크 버전 __1.1.1 MySQL 커뮤니티 에디션 __1.1.2 MySQL 퍼코나 서버 __1.1.3 MySQL 엔터프라이즈 에디션 _1.2 설치할 플랫폼과 버전 선택 __1.2.1 1단계: 배포판 다운로드 __1.2.2 2단계: 배포 버전 설치 __1.2.3 3단계: 설치 후 필수 설정 작업 __1.2.4 4단계: 성능 측정 _1.3 리눅스에 MySQL 설치 __1.3.1 CentOS 7에 MySQL 설치 __1.3.2 록키 리눅스 9에 MySQL 설치 __1.3.3 우분투 22.04 LTS(재미 젤리피시)에 MySQL 설치 _1.4 맥OS Ventura에 MySQL 설치 __1.4.1 MySQL 8.0 설치 _1.5 윈도우11에 MySQL 설치 _1.6 MySQL 폴더 구성 __1.6.1 MySQL 5.7 기본 파일 __1.6.2 MySQL 8.0 기본 파일 _1.7 명령줄 인터페이스 사용법 _1.8 도커 __1.8.1 도커 설치 _1.9 샌드박스 사용법 __1.9.1 DBdeployer 설치 __1.9.2 DBdeployer 사용 _1.10 MySQL 서버 업그레이드 PART II MySQL 사용법 Chapter 2 데이터베이스 모델링과 설계 _2.1 데이터베이스 개발 실패 사례 _2.2 데이터베이스 설계 과정 _2.3 관계형 엔티티 모델 __2.3.1 엔티티 표현 방법 __2.3.2 관계 표현 __2.3.3 부분 참여와 전체 참여 __2.3.4 엔티티 또는 속성 __2.3.5 엔티티 또는 관계 __2.3.6 중간 엔티티 __2.3.7 약한 엔티티와 강한 엔티티 _2.4 데이터베이스 정규화 _2.5 예시 테이블 정규화 __2.5.1 제1정규형: 반복 그룹 제거 __2.5.2 제2정규형: 중복 데이터 제거 __2.5.3 제3정규형: 키에 종속하지 않는 데이터 제거 _2.6 엔티티 관계 설계 예시 _2.7 엔티티 관계 모델 사용 __2.7.1 데이터베이스 테이블에 엔티티 및 관계 연결 __2.7.2 은행 데이터베이스 ER 모델 생성 __2.7.3 Workbench를 사용한 EER - MySQL 데이터베이스 변환 Chapter 3 기본 SQL _3.1 sakila 데이터베이스 사용 _3.2 SELECT 문 및 기본 쿼리 기술 __3.2.1 단일 테이블 SELECT __3.2.2 열 선택 __3.2.3 WHERE 절로 행 선택 __3.2.4 ORDER BY 절 __3.2.5 LIMIT 절 __3.2.6 조인을 사용한 두 테이블의 결합 _3.3 INSERT 문 __3.3.1 INSERT 기본 사용법 __3.3.2 대체 구문 _3.4 DELETE 문 __3.4.1 DELETE 기본 사용법 __3.4.2 WHERE, ORDER BY, LIMIT 사용 __3.4.3 TRUNCATE로 모든 행 삭제 _3.5 UPDATE 문 __3.5.1 UPDATE 기본 사용법 __3.5.2 WHERE, ORDER BY, LIMIT 사용 _3.6 SHOW와 mysqlshow로 데이터베이스와 테이블 탐색 Chapter 4 데이터베이스 구성 작업 _4.1 데이터베이스 생성 및 사용 _4.2 테이블 생성 __4.2.1 기본 __4.2.2 데이터 정렬 방식과 문자 집합 __4.2.3 테이블 생성 시 유용한 기타 기능 __4.2.4 열에 사용할 수 있는 타입 __4.2.5 키와 인덱스 __4.2.6 AUTO_INCREMENT 기능 _4.3 구조 변경 __4.3.1 열 추가, 제거, 변경 __4.3.2 인덱스 추가, 제거, 변경 __4.3.3 테이블 이름 변경 및 기타 구조 변경 _4.4 구조 제거 __4.4.1 데이터베이스 제거 __4.4.2 테이블 제거 Chapter 5 고급 쿼리 _5.1 별칭 __5.1.1 열 별칭 __5.1.2 테이블 별칭 _5.2 데이터 집계 __5.2.1 DISTINCT 절 __5.2.2 GROUP BY 절 __5.2.3 HAVING 절 _5.3 고급 조인 __5.3.1 내부 조인 __5.3.2 통합 __5.3.3 왼쪽 조인과 오른쪽 조인 __5.3.4 자연 조인 __5.3.5 조인의 상수 표현식 _5.4 중첩 쿼리 __5.4.1 중첩 쿼리 기초 __5.4.2 ANY, SOME, ALL, IN, NOT IN 절 __5.4.3 EXISTS와 NOT EXISTS 절 __5.4.4 FROM 절에서의 중첩 쿼리 __5.4.5 JOIN에서의 중첩 쿼리 _5.5 사용자 변수 PART III 제품 환경의 MySQL Chapter 6 트랜잭션 및 잠금 _6.1 격리 수준 __6.1.1 REPEATABLE READ __6.1.2 READ COMMITTED __6.1.3 READ UNCOMMITTED __6.1.4 SERIALIZABLE _6.2 잠금 __6.2.1 메타데이터 잠금 __6.2.2 행 잠금 __6.2.3 교착 상태 _6.3 격리 및 잠금과 관련된 MySQL 매개변수 Chapter 7 MySQL 추가 활용법 _7.1 쿼리를 사용한 데이터 입력 _7.2 쉼표로 구분된 파일(CSV)에서 데이터 로드 _7.3 쉼표로 구분된 파일에 데이터 입력 _7.4 쿼리를 사용한 테이블 생성 _7.5 여러 테이블에서 업데이트 및 삭제 수행 __7.5.1 삭제 __7.5.2 업데이트 _7.6 데이터 변경 _7.7 EXPLAIN 문 _7.8 대체 스토리지 엔진 __7.8.1 InnoDB __7.8.2 MyISAM과 Aria __7.8.3 MyRocks와 TokuDB __7.8.4 기타 테이블 유형 Chapter 8 사용자 및 권한 관리 _8.1 사용자 및 권한 이해 _8.2 루트 사용자 _8.3 새로운 사용자 생성 및 사용 _8.4 권한 부여 테이블 _8.5 사용자 관리 명령 및 로그 기록 _8.6 사용자 수정 및 제거 __8.6.1 사용자 수정 __8.6.2 사용자 제거 _8.7 권한 __8.7.1 정적 권한 대 동적 권한 __8.7.2 SUPER 권한 __8.7.3 권한 관리 명령 __8.7.4 권한 확인 __8.7.5 GRANT OPTION 권한 _8.8 역할 _8.9 루트 비밀번호 변경 및 비보안적 실행 _8.10 보안 설정을 위한 방법 Chapter 9 옵션 파일 사용법 _9.1 옵션 파일의 구조 _9.2 옵션 범위 _9.3 옵션 파일 검색 순서 _9.4 특수 옵션 파일 __9.4.1 로그인 경로 구성 파일 __9.4.2 영구 시스템 변수 구성 파일 _9.5 유효한 옵션 결정 Chapter 10 백업 및 복구 _10.1 물리적 및 논리적 백업 __10.1.1 논리적 백업 __10.1.2 물리적 백업 __10.1.3 논리적 및 물리적 백업 개요 _10.2 백업 도구로 복제 __10.2.1 인프라 장애 __10.2.2 배포 버그 _10.3 mysqldump 프로그램 __10.3.1 mysqldump를 사용한 부트스트랩 복제 _10.4 SQL 덤프 파일에서 데이터 로드 _10.5 mysqlpump _10.6 mydumper와 myloader _10.7 콜드 백업 및 파일 시스템 스냅샷 _10.8 XtraBackup __10.8.1 백업 및 복구 __10.8.2 고급 기능 __10.8.3 XtraBackup을 사용한 증분 백업 _10.9 기타 물리적 백업 도구 __10.9.1 MySQL 엔터프라이즈 백업 __10.9.2 mariabackup _10.10 특정 시점 복구 __10.10.1 바이너리 로그에 대한 기술적 배경 __10.10.2 바이너리 로그 보존 __10.10.3 PITR 대상 구별 __10.10.4 특정 시점 복구: XtraBackup __10.10.5 특정 시점 복구: mysqldump _10.11 InnoDB 테이블스페이스 내보내기 및 가져오기 __10.11.1 기술적 배경 __10.11.2 테이블스페이스 내보내기 __10.11.3 테이블스페이스 가져오기 __10.11.4 XtraBackup 단일 테이블 복원 _10.12 백업 테스트 및 확인 _10.13 데이터베이스 백업 전략 입문서 Chapter 11 서버 구성 및 튜닝 _11.1 MySQL 서버 데몬 _11.2 MySQL 서버 변수 __11.2.1 서버 설정 확인 __11.2.2 모범 사례 PART IV 기타 Chapter 12 MySQL 서버 모니터링 _12.1 운영체제 지표 __12.1.1 CPU __12.1.2 디스크 __12.1.3 메모리 __12.1.4 네트워크 _12.2 MySQL 서버 살펴보기 __12.2.1 상태 변수 __12.2.2 기본 모니터링 조합 __12.2.3 느린 쿼리 로그 __12.2.4 InnoDB 엔진 상태 보고서 _12.3 조사 방법 __12.3.1 USE 방법 __12.3.2 RED 방법 _12.4 MySQL 모니터링 도구 _12.5 사고/진단 및 수동 데이터 수집 __12.5.1 시스템 상태 변수 값의 주기적 수집 __12.5.2 pt-stalk를 사용한 MySQL 및 OS 지표 수집 __12.5.3 확장된 수동 데이터 수집 Chapter 13 고가용성 _13.1 비동기 복제 __13.1.1 소스 및 복제본에 설정할 기본 매개변수 __13.1.2 XtraBackup을 사용한 복제본 생성 __13.1.3 복제 플러그인을 사용한 복제본 생성 __13.1.4 mysqldump를 사용한 복제본 생성 __13.1.5 mydumper 및 myloader를 사용해 복제본 생성 __13.1.6 그룹 복제 _13.2 동기 복제 __13.2.1 Galera/PXC 클러스터 Chapter 14 클라우드 MySQL _14.1 Database-as-a-Service(DBaaS) __14.1.1 MySQL/MariaDB용 아마존 RDS __14.1.2 MySQL용 구글 클라우드 SQL __14.1.3 애저 SQL _14.2 아마존 오로라 _14.3 MySQL 클라우드 인스턴스 _14.4 쿠버네티스에서 MySQL 사용 __14.4.1 쿠버네티스에 XtraDB 클러스터 배포 Chapter 15 MySQL 로드 밸런싱 _15.1 애플리케이션 드라이버를 사용한 부하 분산 _15.2 ProxySQL 로드 밸런서 __15.2.1 ProxySQL 설치 및 구성 _15.3 HAProxy 로드 밸런서 __15.3.1 HAProxy 설치 및 구성 _15.4 MySQL 라우터 Chapter 16 기타 주제 _16.1 MySQL 셸 __16.1.1 MySQL 셸 설치 __16.1.2 MySQL 셸을 사용해 샌드박스 InnoDB 클러스터 배포 __16.1.3 MySQL 셸 유틸리티 _16.2 Flame 그래프 _16.3 소스를 사용한 MySQL 빌드 __16.3.1 우분투 22.04 LTS(재미 젤리피시) 및 ARM 프로세서용 MySQL 구축 _16.4 MySQL 충돌 원인 분석 |
Vinicius Grippa
Sergey Kuzmichev
|
데이터베이스 설계부터 효율적인 운영 노하우까지 넓고 깊은 MySQL 가이드
이 책은 MySQL을 사용자 모두를 위한 가이드북이다. 리눅스(우분투, CentOS 등)나 윈도우, 맥 같은 OS에서 원하는 MySQL 버전을 설치하는 방법부터 실제 서버를 운영할 때 알아두면 좋은 각종 프로그램까지 소개하며 실무적인 지식을 쌓게 한다. 초보자라면 자세한 개념 설명과 쿼리 실습을 통해 데이터베이스 입문에 필요한 지식을 얻을 수 있고, 실무자라면 저자가 다양한 기업을 대상으로 컨설팅한 경험으로부터 노하우를 전수받을 수 있다. 대상 독자 - MySQL을 처음 배우는 개발자 - MySQL의 핵심을 폭넓게 이해하고 실무에 활용하고 싶은 개발자와 DBA - 다른 데이터베이스 시스템을 사용하다가 MySQL을 처음 시작하는 사람 배우는 내용 - MySQL 및 데이터베이스의 개념 - 데이터베이스 인프라 설계 방법 - 고효율 쿼리 작성법 - MySQL 데이터베이스 모니터링 및 문제 해결법 이 책의 구성 Part I. MySQL 시작 다양한 환경에 MySQL 설치하고 설정하는 법 Part II. MySQL 사용법: 기본 탄탄히 다지기 데이터베이스 기본 구조와 설계 방법 SQL의 기본 문법과 이를 활용한 실제 데이터 조회, 입력, 수정, 삭제 실습 Part III. 제품 환경의 MySQL: 실제 환경에서 MySQL 100% 활용하는 법 실제 업무에서 중요한 트랜잭션과 잠금 처리 방법 데이터의 안전을 위한 백업과 복구, 서버의 최적화 방법 Part IV. 기타: MySQL을 활용하는 고급 기술과 서버 모니터링 방법 실시간 모니터링과 분석으로 익히는 서버 상태 체크 방법 클라우드 환경에서의 MySQL 활용, 로드 밸런싱 등 고급 지식 학습 이 책의 특징 - MySQL의 기본부터 고급 주제까지 핵심을 다루며 독자가 전체적인 이해를 얻을 수 있는 통합적 가이드 - 문제 해결과 최적화에 초점을 맞춘 실용적인 팁과 모범 사례를 소개, 직접 입력하며 확인하는 코드 예제 - MySQL 8.0 버전을 중심으로 최신 기능 및 변경 사항을 소개(5.7 내용 포함) - 클라우드 환경의 MySQL 활용과 최신 기술 트렌드 소개 |
|
MySQL과 그 생태계를 다룬 좋은 책이 오랜만에 출간되었습니다. 그 사이 많은 변화가 있었습니다. 이 책에선 데이터베이스 설치와 설계에서 시작해 고가용성, 클라우드를 위한 구조 설계와 유지보수에 이르는 다양한 주제를 예시와 함께 명확하게 설명합니다. dbdeployer 또는 proxySQL 같은 서드파티 툴도 다룹니다. 이러한 툴은 DBA에게 좋은 친구 같은 존재지만 다루는 책이 많지 않습니다. 비니시우스와 세르게이가 멋진 결과물을 만들었습니다. 특히 마지막 장은 정말 흥미로우니 놓치지 마세요. - 프레더릭 디캠스 (오라클 MySQL 에반젤리스트)
|
|
먼저 비니시우스와 세르게이에게 감사드립니다. 두 분 덕분에 개발자 에디션을 작업하는 동안 MySQL 초보자를 위해 꿈에 그리던 책을 만들 수 있었습니다. 이 책은 MySQL을 시작하는 방법뿐만 아니라 고가용성 및 로드 밸런싱 같은 복잡한 주제에 대해서도 매우 포괄적인 정보를 자세하고도 이해하기 쉽게 알려줍니다. 개발자부터 운영자에 이르기까지 전 독자층에게 이 책을 강력히 추천합니다. - 얼킨 테주이살 (플래닛스케일 수석 기술 관리자)
|
|
MySQL 생태계에 입문하려는 사람이라면 꼭 읽어야 합니다. 명확하고 객관적으로 기초부터 고급까지 폭넓은 내용을 다룹니다. MySQL에 대한 이해의 지평을 넓혀주는, 필독해야 할 책입니다. - 디에고 헬라스 (퍼포먼스DB CEO)
|
|
분명하고 간결하며 직접적인 언어를 구사해 SQL과 데이터 모델링의 기초부터 고가용성과 클라우드 등의 고급 주제까지, MySQL의 주요 개념으로 독자를 안내합니다. - 찰리 바티스타 (퍼코나 PostgreSQL팀 팀장)
|