2.1 Major Program Components Used in MySQL
MySQL operates in a networked environment using a client/server architecture. As you read the following, please keep in mind the difference between a server and a host as used in this guide: The server is software (the MySQL server program mysqld or a derivative name, as explained in the following text) and is defined both by the version number and whether certain features are included in or excluded from that particular version. The host is the physical machine on which the server runs. The host is defined by hardware, the operating system running on the machine, its network addresses, and so forth.
The major components of a MySQL installation are:
mysqld, the server program. The database server manages access to the actual databases on disk and in memory. mysqld comes in several configurations, the most notable being mysqld-max, which contains support for BDB tables, as well as for features that have not yet proven to be totally stable and mature. On Windows, the mysqld-nt and mysql-max-nt servers provide support for named pipe connections on Windows NT, 2000, and XP.
The exact configuration of the mysqld versions might change over time, so whenever you download a new version, it's wise to check the documentation. For the purposes of the exam, the preceding information suffices.
A number of client programs. Client programs are the programs used by the programmer or user to communicate with the server, in order to manipulate the information in the databases that the server manages. MySQL includes several standard client programs.
MySQL Control Center (also known as MySQLCC) is a graphical front end to the server.
mysql is a command-line program that acts as a text-based front end for the server. It's the most commonly used standard client for issuing queries and viewing the results interactively.
There are other command-line clients as well. These include mysqlimport for importing datafiles, mysqldump for making backups, mysqladmin for server administration, and mysqlcheck for checking the health of the database files. These are described in more detail later in this study guide.
A few MySQL utilities that operate independently of the server. myisamchk is an example. It performs table checking and repair operations. Another 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.
More information on using MySQL client programs and utilities is given in Chapter 3, "Using MySQL Client Programs."