What Is MySQL?

MySQL is a database software (DBMS or Database Management System) that actually does all the work of storing, retrieving, managing, and manipulating data.

MySQL has been around for a long time, and in use at millions of installations worldwide. Why do so many developers use MySQL? Here are some of the reasons:

  • MySQL is easy to install and get up and running.

  • MySQL is fast.

  • MySQL is used by some of the most important and prestigious organizations and sites

  • MySQL is open-source, and is free to use.

Client-Server Software

MySQL is a client-server based database. Client-server applications are split into two distinct parts. The server portion is a piece of software that is responsible for all data access and manipulation. This software runs on a computer called the database server.

Only the server software interacts with the data files. All requests for data, data additions and deletions, and data updates are funneled through the server software. These requests or changes come from computers running client software. The client is the piece of software with which the user interacts. If you request an alphabetical list of products, for example, the client software submits that request over the network to the server software. The server software processes the request; filters, discards, and sorts data as necessary; and sends the results back to your client software.

All this action occurs transparently to you, the user. The fact that data is stored elsewhere or that a database server is even performing all this processing for you is hidden. You never need to access the data files directly. In fact, most networks are set up so that users have no access to the data, or even the drives on which it is stored.

Why is this significant? Because to work with MySQL you'll need access to both a computer running the MySQL server software and client software with which to issue commands to MySQL:

  • The server software is the MySQL DBMS. You can be running a locally installed copy, or you can connect to a copy running a remote server to which you have access.

  • The client can be MySQL-provided tools, web application development languages (such as ASP, ColdFusion, JSP, and PHP), programming languages (such as C, C++, and Java), and more.