Buying Options
Understanding MySQL Internals
Print $49.99
Add to Cart
Print+Ebook $54.99
Add to Cart
Ebook $39.99
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £38.50
Add to Cart
What is this?
Description

Although MySQL's source code is open in the sense of being publicly available, it's essentially closed to you if you don't understand it. This book provides a comprehensive tour of MySQL 5 that shows you how to figure out the inner-workings of this powerful database. You'll learn how data structures and convenience functions operate, how to add new storage engines and configuration options, and much more.

Full Description
Table of Contents
  1. Chapter 1 MySQL History and Architecturel

    1. MySQL History

    2. MySQL Architecture

  2. Chapter 2 Nuts and Bolts of Working with the MySQL Source Code

    1. Unix Shell

    2. BitKeeper

    3. Preparing the System to Build MySQL from BitKeeper Tree

    4. Building MySQL from BitKeeper Tree

    5. Building from Source Distribution

    6. Installing MySQL into a System Directory

    7. Source Code Directory Layout

    8. Preparing the System to Run MySQL in a Debugger

    9. Debugger-Guided Source Tour

    10. Basics of Working with gdb

    11. Finding Things in the Source

    12. Interesting Breakpoints and Variables

    13. Making a Source Modification

    14. Coding Guidelines

    15. Keeping Your BitKeeper Repository Up to Date

    16. Submitting a Patch

  3. Chapter 3 Core Classes, Structures, Variables, and APIs

    1. THD

    2. NET

    3. TABLE

    4. Field

    5. Utility API Calls

    6. Preprocessor Macros

    7. Global Variables

  4. Chapter 4 Client/Server Communication

    1. Protocol Overview

    2. Packet Format

    3. Relationship Between MySQL Protocol and OS Layer

    4. Authenticating Handshake

    5. Command Packet

    6. Server Responses

  5. Chapter 5 Configuration Variables

    1. Configuration Variables Tutorial

    2. Interesting Aspects of Specific Configuration Variables

  6. Chapter 6 Thread-Based Request Handling

    1. Threads Versus Processes

    2. Implementation of Request Handling

    3. Thread Programming Issues

  7. Chapter 7 The Storage Engine Interface

    1. The handler Class

    2. Adding a Custom Storage Engine to MySQL

  8. Chapter 8 Concurrent Access and Locking

    1. Table Lock Manager

  9. Chapter 9 Parser and Optimizer

    1. Parser

    2. Optimizer

  10. Chapter 10 Storage Engines

    1. Shared Aspects of Architecture

    2. InnoDB

    3. Memory (Heap)

    4. MyISAM Merge

    5. NDB

    6. Archive

    7. Federated

  11. Chapter 11 Transactions

    1. Overview of Transactional Storage Engine Implementation

    2. Implementing the handler Subclass

    3. Defining the handlerton

    4. Working with the Query Cache

    5. Working with the Replication Binary Log

    6. Avoiding Deadlocks

  12. Chapter 12 Replication

    1. Overview

    2. Statement-Based Versus Row-Based Replication

    3. Two-Threaded Slave

    4. Multi-Master

    5. SQL Commands to Help Understand Replication

    6. Binary Log Format

    7. Creating a Custom Replication Utility

  1. Colophon

View Full Table of Contents
Product Details
Title:
Understanding MySQL Internals
By:
Sasha Pachev
Publisher:
O'Reilly Media
Formats:
  • Print
  • Ebook
  • Safari Books Online
Print Release:
April 2007
Ebook Release:
February 2009
Pages:
256
Print ISBN:
978-0-596-00957-1
| ISBN 10:
0-596-00957-7
Ebook ISBN:
978-0-596-10481-8
| ISBN 10:
0-596-10481-2
Customer Reviews
About the Author
  1. Sasha Pachev

    Sasha Pachev graduated from the Brigham Young University in 1998 with a degree in Computer Science, worked on the MySQL development team in 2000-2002, and was the original developer of replication in MySQL. In 2003 he wrote his first book MySQL Enterprise Solutions. He currently lives in Provo, Utah with his wife Sarah and his five children working as an independent consultant with the emphasis on MySQL.

    In spite of his great interest in computers, Sasha is equally passionate about distance running. He has won a number of marathons, has a personal best of 2:24:47, and is attempting to qualify for the US Olympic Trials. He feels it is important to help other runners reach their potential, and operates a web site http://FastRunningBlog.Com dedicated to that purpose.

    View Sasha Pachev's full profile page.

Colophon

The animal on the cover of Understanding MySQL Internals is a banded broadbill (Eurylaimus javanicus). Broadbills are a family of small- to medium-size passerine (perching) birds marked by their bright colors and a whitish dorsal patch. They have large heads, rounded wings, and short to long tails. Their name originates from their large, flattened, hooked bill (often covered by a short crest), which they use to snap up insects in a kingfisher-like fashion. They also feed on fruit, seeds, and small vertebrates.

Broadbills live in the subcanopies of tropical forests: 11 species can be found in southeast Asia, the Philippines, Borneo, and Sumatra; and 4 others are native to central African rainforests. Because of their dense habitats, they are often incredibly difficult to observe despite their bright coloring. Broadbills build elaborate, pear-shaped nests, which are suspended on tree limbs over quiet forest backwaters and streams. Biologists believe this may be an adaptive behavior to deter mammalian and reptilian predators. Adult broadbills will also sometimes feign injury to draw predators away from their nests.

Broadbills are gregarious creatures and are often found in small feeding flocks. They communicate using a variety of mating and territorial displays. Male green broadbills, for instance, have a spinning display, while other species of broadbills may employ head bobbing, wing flapping, and feather fluffing. Some have display flights in which their primary wing feathers "buzz" during times of courtship or territorial defense. The sound can be heard from as far as 60 meters away. In addition, broadbills have a variety of calls--often described as a cacophony of whistles, rattles, or screams--which they use during courtship rituals, as an alarm signal, and for contact between mates.

The cover image is from Wood's Animate Creation. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed.

The production editors for Understanding MySQL Internals, eMatter Edition were Ellie Cutler and Jeff Liggett. Linda Walsh was the product manager. Kathleen Wilson provided design support. Lenny Muellner, Mike Sierra, Erik Ray, and Benn Salter provided technical support. This eMatter Edition was produced with FrameMaker 5.5.6.

  • Book cover of Understanding MySQL Internals