One or more MySQL clients connect to one (or more) MySQL servers.
Each client handles work such as
Initiating authentication, password hashing, and so forth
Reducing text queries into more efficient tokens
Delivering queries to the server
Caching result sets from the server
Managed compressed and/or encrypted connections
The MySQL server handles requests from clients and returns responses to them.
Requests are first handled by the management layer, which is the coordinator for the MySQL server. It handles tasks such as
Decrypting and/or decoding connections
Validating and parsing queries
Fetching cached queries from the query cache
Passing instructions to the correct storage engine
Storage engines manage the memory and disk-level representation of databases, tables, and indexes. Each storage engine manages different types of databases, tables, indexes, and so on. They also manage some logs and statistics generation.
The management layer and the storage engines interact heavily with the memory, the disk, and the network. The management layer writes logs to disk, stores and reads caches in memory, reads binary logs from the network, and so on. The storage engines store data (tables, logs, and so forth) on disk and in memory, sends data via the network to other remote MySQL servers, and so on.