Go to the first, previous, next, last section, table of contents.
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
-
-
Alpha means that some new large code section exists which hasn't
been tested to 100%. Known bugs should be documented in the News section
(usually there are none). There are also new commands and extensions in
most alpha releases.
-
Beta means that all new code has been tested. No major new things are
added. There should be no known bugs.
-
Gamma is a beta that has been around a while and seems to work fine.
This is what many other companies call a release.
-
Release (no extension) means that the version has been run for a while
at many different sites without any bug reports (Except platform-specific
bugs).
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.