Chapter 10. MySQL Architecture
A MySQL installation includes a number of programs that work together using a client/server architecture, and a data directory under which the server manages the databases in which you're storing information. This chapter describes the general characteristics of the architecture used by the server and its client programs, and the use and layout of the server's data directory. The coverage includes the following topics:
The design architecture of MySQL; its major programs and how they work together.
Important administrative clients and their capabilities.
Communication protocols that clients can use to connect to the server.
How the server uses disk and memory to do its job. Disk use includes the components of the data directory under which the server stores databases and related files such as logs. Memory use includes data structures that the server sets up to manage communication with clients and to process the contents of databases.
The server's log files. The logs record various types of diagnostic and error messages, and information about the queries that the server processes. They can be used to assess the operational state of the server, for data recovery after a crash, and for replication purposes.
The storage engines that the server supports. MySQL enables you to choose from any of several table types when creating a table. These table types are managed by different storage engines, each of which has specific characteristics.
Questions on the material in this chapter make up approximately 15% of the exam.
MySQL runs on many varieties of Windows, Unix, and Linux. Most of the concepts discussed here apply universally to any system on which MySQL runs. Platform-specific information is so indicated. In this guide, unless otherwise specified, Unix includes Linux and other Unix-like operating systems.