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. For managing database contents, MySQL Server features a modular architecture that supports multiple storage engines that handle different types of tables (for example, it provides both transactional and non-transactional tables).
mysqld comes in several configurations. MySQL Max distributions contain a server named mysqld-max that includes features that are not built into the non-Max version, such as support for additional storage engines. On Windows, the mysqld-nt and mysql-max-nt servers provide support for named-pipe connections on Windows NT, 2000, XP, and 2003. If a given installation includes multiple server programs, you pick one to run from among those available.
The exact feature configuration of MySQL Server may change over time, so whenever you download a new version, it’s wise to check the documentation.
As you are reading this article please keep in mind the difference between a server and a host. The server is software (the MySQL server program mysqld). Server characteristics include its version number, whether certain features are included or excluded, and so forth. The host is the physical machine on which the server program runs. Host characteristics include its hardware configuration, the operating system running on the machine, its network addresses, and so forth.
- 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, and 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.
MySQL runs on many varieties of Windows, UNIX, and Linux, but client/server communication is not limited to environments where all computers run the same operating system. Client programs can connect to a server running on the same host or a different host, and the client and server host need not have the same operating system. For example, client programs can be used on Windows to connect to a server that is running on Linux.
One Response to MySQL Architecture Tutorial
Leave a Reply Cancel reply
Archives
Tags
ansi architecture client command config database databases definition delete difference ecommerce empty engine file foreign group host hungarian inner join keys left modes MSSQL multiple myisam MySQL mysqld naming opensource optimize performance postgreSQL queries query row server setting single sql table traditional truncate variable wreckUsers Comments
- andre on What is MySQL Configuration File?
- Shrek on What is MySQL Configuration File?
- Alexander on Top 25+ Open Source e-Commerce Solution
- Joint Supplement Pet Health on What is MySQL Configuration File?
- Dorian Lizarrago on Top 25+ Open Source e-Commerce Solution
- Darrick Worrell on MySQL DELETE Statement across Multiple Tables Tutorial
- Benton Conkey on Top 25+ Open Source e-Commerce Solution
- Ardis Fauerbach on Top 25+ Open Source e-Commerce Solution
- Fluorescent Lamp on Top 25+ Open Source e-Commerce Solution
- Jesper Jørgensen on Optimal Data Types Improves the MySQL Performance
- uut3 on Tutorial for MySQL data validation
- noha on Top 25+ Open Source e-Commerce Solution
- Angela on Top 25+ Open Source e-Commerce Solution
- Lanell Filburn on Tutorial for MySQL data validation
- millionaire sunglasses on MySQL Architecture Tutorial
Recent Posts
- MySQL Configuration File Variable Tutorial-Part 2
- MySQL Configuration File Variable Tutorial-Part 1
- Comparison between VARCHAR and CHAR data types
- Optimal Data Types Improves the MySQL Performance
- MySQL Performance Boost by Selecting the Right Table Engine
- Top 25+ Open Source e-Commerce Solution
- Query Performance-Identifying Slow Queries Tutorial
- MySQL DELETE Statement across Multiple Tables Tutorial
- What is MySQL Configuration File?
- Tutorial for MySQL data validation
- MySQL Architecture Tutorial
- Tutorial to wreck the database





well written blog. Im glad that I could find more info on this. thanks