Description
Book SynopsisProvides a tour of MySQL 5 that shows you its inner workings. This work helps you learn how data structures and convenience functions operate, how to add new storage engines and configuration options, and more. It also gives an Architecture Overview that provides an introduction of how the different components of MySQL work together.
Table of ContentsPreface 1. MySQL History and Architecture MySQL History MySQL Architecture 2. Nuts and Bolts of Working with the MySQL Source Code Unix Shell BitKeeper Preparing the System to Build MySQL from BitKeeper Tree Building MySQL from BitKeeper Tree Building from Source Distribution Installing MySQL into a System Directory Source Code Directory Layout Preparing the System to Run MySQL in a Debugger Debugger-Guided Source Tour Basics of Working with gdb Finding Things in the Source Interesting Breakpoints and Variables Making a Source Modification Coding Guidelines Keeping Your BitKeeper Repository Up to Date Submitting a Patch 3. Core Classes, Structures, Variables, and APIs THD NET TABLE Field Utility API Calls Preprocessor Macros Global Variables 4. Client/Server Communication Protocol Overview Packet Format Relationship Between MySQL Protocol and OS Layer Authenticating Handshake Command Packet Server Responses 5. Configuration Variables Configuration Variables Tutorial Interesting Aspects of Specific Configuration Variables 6. Thread-Based Request Handling Threads Versus Processes Implementation of Request Handling Thread Programming Issues 7. The Storage Engine Interface The handler Class Adding a Custom Storage Engine to MySQL 8. Concurrent Access and Locking Table Lock Manager 9. Parser and Optimizer Parser Optimizer 10. Storage Engines Shared Aspects of Architecture InnoDB Memory (Heap) MyISAM Merge NDB Archive Federated 11. Transactions Overview of Transactional Storage Engine Implementation Implementing the handler Subclass Defining the handlerton Working with the Query Cache Working with the Replication Binary Log Avoiding Deadlocks 12. Replication Overview Statement-Based Versus Row-Based Replication Two-Threaded Slave Multi-Master SQL Commands to Help Understand Replication Binary Log Format Creating a Custom Replication Utility Index