메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

러닝 MySQL

MySQL 운영 종합 가이드, 데이터베이스 설계부터 비용 최적화까지

한빛미디어

번역서

판매중

  • 저자 : 비니시우스 그리파 , 세르게이 쿠즈미체프
  • 번역 : 김선종
  • 출간 : 2023-09-29
  • 페이지 : 732 쪽
  • ISBN : 9791169211482
  • eISBN : 9791169217323
  • 물류코드 :11148
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.8점 (26명)
좋아요 : 6

책소개

데이터의 방향키를 잡는 가장 현명한 방법, MySQL

 

MySQL로 데이터베이스를 효과적으로 구성하고 운영하는 방법을 배워봅시다. 이 책은 최신 버전인 MySQL 8.0(MySQL 5.7 정보 포함)을 바탕으로 강력한 RDBMS를 최대한 활용하는 데 필요한 인사이트와 도구를 소개합니다. 또한 데이터베이스를 구성하고 관리하는 모든 이가 MySQL을 쉽게 활용하도록 다양한 실습을 제공합니다.

 

전 세계의 많은 고객과 협업하며 다양한 사용 사례를 경험한 저자들이 개발자와 DBA가 비용을 최소화하고 가용성과 성능을 극대화하는 방법을 안내합니다. 데이터베이스의 기본 개념부터 고급 쿼리 작성, 모니터링, 오류 해결, 데이터베이스 관리 및 보안, 백업 및 복구, 효율성 향상을 위한 튜닝 방법에 이르기까지 MySQL에 관한 모든 것을 만나보세요.

 

700_상세이미지_러닝 MySQL.jpg

저자소개

비니시우스 그리파 저자

비니시우스 그리파

퍼코나의 선임 지원 엔지니어이자 오라클 에이스 어소시에이트다. 비니시우스는 컴퓨터 공학 학사 학위를 받고 13년 동안 데이터베이스 관련 일에 종사했다. 기업의 주요 애플리케이션을 위한 데이터베이스를 설계한 경력이 있으며, 수년간 MySQL 및 MongoDB 에코시스템의 전문가로 활약했다. 지원팀에서 근무하면서 다양한 시나리오와 복잡성을 지닌 수백 가지의 다양한 사례로 퍼코나의 고객사를 지원했다. 또 유럽과 아시아, 북미, 남미 등에서 열리는 콘퍼런스에 발표자로 참여하는 등 OS 커뮤니티에서 활발히 활동하고 있다.

세르게이 쿠즈미체프 저자

세르게이 쿠즈미체프

퍼코나의 수석 지원 엔지니어다. 기술적인 문제의 해결을 비롯해 데이터베이스 관련 작업, 안정적인 시스템 구축을 즐긴다. 오픈소스 프로젝트에 코드 기여, 버그 보고서 제출 등의 활동을 하며, 블로그에 MySQL과 기타 오픈소스 데이터베이스에 대한 글도 작성한다. 퍼코나에 입사하기 전에는 약 10년 동안 DBA와 DevOps 엔지니어로 근무했다.

김선종 역자

김선종

고등학교 시절 사람과 대화하는 게 어려워 컴퓨터로 일하는 개발자를 직업으로 선택했다. 하지만 기대와는 달리 개발은 많은 소통이 필요한 일이었고, 그 덕에 소통하며 일하는 것이 더 편해졌다. 기술로 세상에 영향을 끼치는 것을 목표로 삼고 현재는 스타트업에서 플러터로 앱 개발을 하고 있다. 최근에는 뇌가 데이터를 저장하는 방식에 관심을 갖고 있다.

목차

 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 충돌 원인 분석

출판사리뷰

데이터베이스 설계부터 효율적인 운영 노하우까지 넓고 깊은 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 활용과 최신 기술 트렌드 소개 

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
러닝 MySQL
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
러닝 MySQL
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
러닝 MySQL
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?