MySQL architecture

MySQL operates in a networked environment using a client/server architecture. In other words, a central program acts as a server, and various client programs connect to the server to make requests. 
A MySQL installation has the following major components:
* MySQL Server, or mysqld , is the database server program. The server manages access to the actual databases on disk and in memory. MySQL Server is multi-threaded and supports many simultaneous client connections. Clients can connect via several connection protocols.
* Client programs. These are programs that you use for communicating with the server to manipulate the information in the databases that the server manages. MySQL AB provides several client programs. The following list describes a few of them:
    - MySQL Query Browser and MySQL Administrator are graphical front ends to the server.
    - mysql is a command-line program that acts as a text-based front end for the server. It’s used for issuing queries and viewing the results interactively from a terminal window.
    - Other command-line clients include, 
        * mysqlimport for importing data files, 
        * mysqldump for making backups, 
        * mysqladmin for server administration,
        * mysqlcheck for checking the integrity of the database files.
* MySQL non-client utilities. These are programs that act independently of the server. They do not operate by first establishing a connection to the server. myisamchk is an example. It performs table checking and repair operations. Another program in this category is myisampack , which creates compressed read-only versions of MyISAM tables. Both utilities operate by accessing MyISAM table files directly, independent of the mysqld database server.