장바구니 담기 close

장바구니에 상품을 담았습니다.

러닝 MySQL

러닝 MySQL

  • 비니시우스 그리파
  • |
  • 한빛미디어
  • |
  • 2023-09-29 출간
  • |
  • 732페이지
  • |
  • 183 X 235mm
  • |
  • ISBN 9791169211482
판매가

43,000원

즉시할인가

38,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
38,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

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

6. 추천사
MySQL과 그 생태계를 다룬 좋은 책이 오랜만에 출간되었습니다. 그 사이 많은 변화가 있었습니다. 이 책에선 데이터베이스 설치와 설계에서 시작해 고가용성, 클라우드를 위한 구조 설계와 유지보수에 이르는 다양한 주제를 예시와 함께 명확하게 설명합니다. dbdeployer 또는 proxySQL 같은 서드파티 툴도 다룹니다. 이러한 툴은 DBA에게 좋은 친구 같은 존재지만 다루는 책이 많지 않습니다. 비니시우스와 세르게이가 멋진 결과물을 만들었습니다. 특히 마지막 장은 정말 흥미로우니 놓치지 마세요.
프레더릭 디캠스, 오라클 MySQL 에반젤리스트

먼저 비니시우스와 세르게이에게 감사드립니다. 두 분 덕분에 개발자 에디션을 작업하는 동안 MySQL 초보자를 위해 꿈에 그리던 책을 만들 수 있었습니다. 이 책은 MySQL을 시작하는 방법뿐만 아니라 고가용성 및 로드 밸런싱 같은 복잡한 주제에 대해서도 매우 포괄적인 정보를 자세하고도 이해하기 쉽게 알려줍니다. 개발자부터 운영자에 이르기까지 전 독자층에게 이 책을 강력히 추천합니다.
얼킨 테주이살, 플래닛스케일 수석 기술 관리자

MySQL 생태계에 입문하려는 사람이라면 꼭 읽어야 합니다. 명확하고 객관적으로 기초부터 고급까지 폭넓은 내용을 다룹니다. MySQL에 대한 이해의 지평을 넓혀주는, 필독해야 할 책입니다.
디에고 헬라스, 퍼포먼스DB CEO

분명하고 간결하며 직접적인 언어를 구사해 SQL과 데이터 모델링의 기초부터 고가용성과 클라우드 등의 고급 주제까지, MySQL의 주요 개념으로 독자를 안내합니다.
찰리 바티스타, 퍼코나 PostgreSQL팀 팀장

목차

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

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.