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


Which MySQL version should I use?

The first decision is if you want to use the latest development release or the last stable release.

Normally if you are starting with development we recommend going with the development release. This is because there are usually no really bad bugs in the development release and you can easily test it on your machine with the crash-me and benchmark tests. See section MySQL benchmark suite.

The second decision is if you want a source or a binary release.

If you want to run MySQL on a platform that has a current binary release, use that. A binary version of MySQL is easier to install.

If you want to read (and/or modify) the C and C++ code that makes up MySQL you should always get a source distribution. The code is always the ultimate manual. The source distribution also contains more tests and examples than the binary distribution.

To clarify our naming schema:

All MySQL versions are run through our standard test and the benchmarks to ensure that they are relatively safe to use. The standard tests are also extended the whole time to test for all previously found bugs, so it gets better the whole time.

The MySQL release numbers consist of 3 numbers and a suffix.

So a release name like mysql-3.21.17-beta means.

The first number. In this case 3
This describes the file format. So all version 3 releases has the same file format. And when a version 4 appears every table has to be converted to the new format (Nice tools for this will of course be included).
The second number. In this case 21
This is the release level. Normally there are two to choose from. One is the release/stable branch and the other is the development branch. Normally both are stable but the development version may have quirks, missing documentation and may fail to compile on some systems.
The third number. In this case 17
This is the version number. This is incremented for each release. Usually you want the latest version for the release you have choosen.
The suffix. In this case beta

Note that all releases have at least been tested with:

A internal testsuite
This is part of a production system for a customer. It has many tables and with many megabytes of data and lots of tables.
The MySQL benchmark suite
This runs a range of common queries. It is also a test to see whether the latest batch of optimisations actually made the code faster. See section MySQL benchmark suite.
The crash-me test
This tries to find out what the database supports and which limitations it has. See section MySQL benchmark suite.

Another test is our internal production. We usually use the latest version for this (at least on one machine) and we have more than 100 gigabytes of data to work with.


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