Go to the first, previous, next, last section, table of contents.

General Information about MySQL

This is the MySQL reference manual. This version documents the version of MySQL.

MySQL is a basically free SQL database server. See section Licensing or When do I have/want to pay for MySQL?.

The latest information about MySQL is found at the MySQL Home page

To see what it can do. See section The main features of MySQL.

For installation instructions See section Compiling and installing MySQL. For tips on how to port MySQL to new machines/operating systems See section Comments on porting to other systems..

If you have any suggestions concerning additions or corrections to this manual, please send them to the MySQL mailing list Here]}. See section Subscribing to/un-subscribing from the MySQL mailing list..

See section Upgrading to 3.21 from a 3.20 version, for information about upgrading from a 3.20 release.

For examples of SQL and benchmarking information see the `bench' directory.

For future plans See section List of things we want to add to MySQL in the future..

A history of new features/bug fixes See section MySQL change history.

For the currently known bugs/misfeatures (known errors) See section Known errors and design deficiencies in MySQL.

For A list of all the contributors to this product See section Who has helped to make MySQL..


Send bug (error) reports, questions and comments to the mailing list at

Please use the mysqlbug script when posting bug reports or questions about MySQL. mysqlbug will gather some information about your system and start your editor with a form in which you can describe your problem. Bug reports might be silently ignored by the MySQL maintainers if there is not a good reason included in the report as to why mysqlbug has not been used. A report that says 'MySQL does not work for me. Why?' is not consider a valid bug report.

The mysqlbug script can be found in the `scripts' directory in the distribution, that is `there-you-installed-mysql/scripts'.

What is MySQL?

MySQL is a SQL (Structured Query Language) database server. SQL is the most popular database language in the world. MySQL is a client server implementation that consists of a server daemon mysqld and many different client programs/libraries.

The main goals of MySQL are speed and robustness.

The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is actively developed, it already offers a rich and highly useful function set.

The official way to pronounce MySQL is 'My Ess Que Ell' (Not MY-SEQUEL).

About this manual

This manual is currently available in TeXInfo, Raw text, Info and HTML versions. A PostScript version as available do download separately because of its size.

The primary document is the TeXInfo file. The HTML version is automatically produced with a modified texi2html. The ASCII and info version are produced with makeinfo. The Postscript version is produced using texi2dvi and dvips.

This manual was written and is maintained by David Axmark, Michael (Monty) Widenius and Kim Aldale. For other contributors See section Contributed programs.

History of MySQL

We once started off with the intention to use mSQL to connect to our own fast low level (ISAM) tables. However, after some testing we came to the conclusion that mSQL was not fast or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as mSQL. This API was chosen to ease porting of third-party code.

It is not perfectly clear where the name MySQL derives from. Our base directory and a large amount of our libraries and tools have had the prefix 'my' for well over 10 years. However, Monty's daughter (some years younger) is also named My. So which of the two gave its name to MySQL is still a mystery, even for us.

The main features of MySQL

General SQL information and tutorials

There is one SQL tutor on the net.

This book has been recommended by a lot of people on the MySQL mailing list.

Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
"The Practical SQL Handbook: Using Structured Query Language"
Second Edition
Addison Wesley
ISBN 0-201-62623-3

And another book also recommended by people on the MySQL mailing list.

Understanding SQL
ISBN 0-89588-644-8
Publisher Sybex 510 523 8233
Alameda CA USA

Useful MySQL-related links

Some web development tools which support MySQL

Web servers with MySQL tools

Other MySQL related links.

General database links.

There are also many web pages that use MySQL. See section Some users of MySQL.. Send any additions to this list to

What are stored procedures and triggers and so on?

A stored procedure is some code that is stored and run in the server. After this, the client doesn't have to issue the whole query but can refer to the stored procedure. This gives more speed because the query only has to be parsed once and less data has to be sent between the server and the client. You can also raise the conceptual level by having libraries of functions in the server.

A trigger is a stored procedure that is invoked when something happens. For example, one can install a stored procedure that checks every delete to a transaction table and does an automatic delete on the corresponding customer when all their transactions are deleted.

To see when MySQL might get these functions See section List of things we want to add to MySQL in the future..

Go to the first, previous, next, last section, table of contents.

Casa de Bender