What Is MySQL?
MySQL is the world's most popular, and some might argue best, open-source database. In fact, more and more, MySQL is a viable competitor to the pricey goliaths such as Oracle and Microsoft's SQL Server.
MySQL was created and is supported by MySQL AB, a company based in Sweden (www.mysql.com, Figure i.1). MySQL is a database management system (DBMS) for relational databases (therefore, MySQL is an RDBMS). A database is simply a collection of (often interrelated) data, be it text, numbers, or binary files, that are stored and kept organized by the DBMS. Technically, MySQL is an application that manages files called databases, but you will commonly hear the term "database" applied equally to both the files of data and the program itself.
Figure i.1. The MySQL home page, located at www.mysql.com, is where you can obtain the software, view the manual, get support, and more.
MySQL is an open-source application, like PHP and some variants of Unix, meaning that it is free to run or even modify (the source code itself is downloadable). There are occasions on which you should pay for a MySQL license, though, especially if you are making money from the sales or incorporation of the MySQL product. Check MySQL's licensing policy for more information on this. Any MySQL user may also want to consider subscribing to one of MySQL's Network tiers.
The MySQL software consists of several pieces, including the MySQL server (mysqld, which runs and manages the databases), the MySQL client (mysql, which gives you an interface to the server, Figure i.2), and numerous utilities for maintenance and other purposes. You can interface with MySQL using most popular programming languages, including PHP, Perl, and Java, all of which will be demonstrated in this book. You can also use C#, C, Ruby, C++, and others. Along with all of these options, there are dozens of third-party applications for interacting with the MySQL server such as phpMyAdmin (Figure i.3).
Figure i.2. You'll commonly use the mysql client to communicate with the MySQL server.
Figure i.3. The free, Web-based phpMyAdmin is one of the best tools for working with your MySQL databases.
MySQL was written in C and C++, and it functions equally well on several different operating systems. MySQL has been known to handle databases as large as 60,000 tables with more than five billion rows (yes, billion). MySQL can work with tables as large as eight million terabytes (since version 3.23) on some operating systems and generally a healthy 4 GB otherwise.
In the next section of this Introduction, I discuss the very important topic of the available MySQL versions. Which version of MySQL you use will greatly impact your experience, particularly what you can and cannot do (as new features are added).