Note - MySQL is an active product with a vibrant production team; fresh versions are issued frequently, but they are very thoroughly tested and you don't need to upgrade every single time.
The text below was originally written three years ago, and it's amazing how things have move forward - indeed, writing about MySQL versions seems more like writing a daily newspaper than anything else. I have amended / updated the text.
MySQL is an open source relational database engine, tested and running on numerous platforms; ready compiled copies (binaries) of the current production versions are download-able for a wide range of operating systems such as
and you can also download and compile your own sources if you wish.
For production, the version you are looking for on the MySQL site is marked STABLE.
There will usually be a test and development release of MySQL available which has a higher number that the current stable production release.
The differences between the stable and development versions might at times be minimal, but at other times the development release may be used as a testing ground for major new features. If you have a requirement to use these new features in your production environment, test them out by all means but remember that the development release may well NOT be as reliable as the production version, and you are taking a risk.
There are a number of features in MySQL which are important for some users, but worse than unnecessary for others - they make for reduced performance, and larger executable files.
In order to meet the requirements of both groups of users, two different binary versions of MySQL are available for download - MySQL and MySQL - Max. A single set of source code covers both versions, as the extras are selected through compile time options.
The extra features in the "max" version include
Berkeley_DB i(BDB) tables
both of which provide transaction-safe tables (i.e. tables to which locks can be applied while a series of SQL queries is made, the total of that series of queries being referred to as a transaction).
See also MySQL courses
Please note that articles in this section of our
web site were current and correct to the best of our ability when published,
but by the nature of our business may go out of date quite quickly. The
quoting of a price, contract term or any other information in this area of
our website is NOT an offer to supply now on those terms - please check
back via our main web site
MySQL - General 
Blowing our own trumpet - MySQL resources - (2011-07-18) 
MySQL and Java - connectivity past, present, and future thoughts - (2010-07-09) 
Extra MySQL course dates (2 day course, UK) - (2010-01-08) 
The future of MySQL - (2010-01-03) 
Moving the product forward - ours, and MySQL, Perl, PHP and Python too - (2010-01-01) 
Which version of MySQL am I running? - (2009-09-26) 
How do I query a database (MySQL)? - (2009-06-15) 
Oracle take over Sun who had taken over MySQL - (2009-04-21) 
MySQL - licensing issues, even with using the name - (2009-03-16) 
What a difference a MySQL Index made - (2009-02-25)More MySQL commands 
Extracting data from backups to restore selected rows from MySQL tables - (2015-05-01) 
SQL - Data v Metadata, and the various stages of data selection - (2011-04-29) 
Databases - why data is split into separate tables, and how to join them - (2010-11-20) 
Removing duplicates from a MySQL table - (2010-02-22) 
Optimising and caching your MySQL enquiries - (2010-02-22) 
Counting rows in joined MySQL tables - (2010-02-22) 
Relating tables with joins in MySQL - (2010-02-21) 
MySQL - efficiency and other topics - (2009-10-10) 
Grouping rows for a summary report - MySQL and PHP - (2009-06-27) 
MySQL - looking for records in one table that do NOT correspond to records in another table - (2009-03-31) 
Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23) 
Finding words and work boundaries (MySQL, Perl, PHP) - (2008-08-03) 
Joining MySQL tables revisited - finding nonmatching records, etc - (2008-03-15) 
MySQL joins revisited - (2007-09-03) 
Outputting numbers as words - MySQL with Perl or PHP - (2007-06-17) 
MySQL - the order of clauses and the order of actions - (2007-06-01) 
Helicopter views and tartans - (2006-04-06) 
Key facts - SQL and MySQL - (2006-02-04) 
Saving a MySQL query results to your local disc for Excel - (2006-01-29) 
Giving the researcher power over database analysis - (2006-01-22) 
Combining similar rows from a MySQL database select - (2006-01-17) 
An occasional chance, and reducing data to manageable levels - (2005-12-04) 
MySQL - an FAQ - (2005-12-03) 
MySQL - JOIN or WHERE to link tables correctly? - (2005-12-01) 
SELECT in MySQL - choosing the rows you want - (2005-11-22) 
MySQL - a score of things to remember - (2005-11-12) 
Matching in MySQL - (2005-09-24) 
Getting a list of unique values from a MySQL column - (2005-04-14) 
MySQL - Optimising Selects - (2004-12-21) 
MySQL - LEFT JOIN and RIGHT JOIN, INNER JOIN and OUTER JOIN - (2004-12-20)resource index - MySQL
Solutions centre home page
You'll find shorter technical items at
The Horse's Mouth
delegate's questions answered at
At Well House Consultants, we provide
subjects such as Ruby, Lua, Perl, Python, Linux, C, C++,
Tcl/Tk, Tomcat, PHP and MySQL. We're asked (and answer)
many questions, and answers to those which are of general
interest are published in this area of our site.