GNU Info

Info Node: (mysql.info)Which version

(mysql.info)Which version


Next: Installation layouts Prev: Which OS Up: General Installation Issues
Enter node , (file) or (file)node

Which MySQL Version to Use
--------------------------

The first decision to make is whether you want to use the latest
development release or the last stable release:

   * Normally, if you are beginning to use MySQL for the first time or
     trying to port it to some system for which there is no binary
     distribution, we recommend going with the stable release (currently
     Version 3.23.51.  Note that all MySQL releases are checked with
     the MySQL benchmarks and an extensive test suite before each
     release.

   * Otherwise, if you are running an old system and want to upgrade,
     but don't want to take chances with a non-seamless upgrade, you
     should upgrade to the latest in the same branch you are using
     (where only the last version number is newer than yours).  We have
     tried to fix only fatal bugs and make small, relatively safe
     changes to that version.

The second decision to make is whether you want to use a source
distribution or a binary distribution.  In most cases you should
probably use a binary distribution, if one exists for your platform, as
this generally will be easier to install than a source distribution.

In the following cases you probably will be better off with a source
installation:

   * If you want to install MySQL at some explicit location.  (The
     standard binary distributions are "ready to run" at any place, but
     you may want to get even more flexibility).

   * To be able to satisfy different user requirements, we are
     providing two different binary versions; One compiled with the
     non-transactional table handlers, (a small, fast binary), and one
     configured with the most important extended options like
     transaction-safe tables.  Both versions are compiled from the same
     source distribution.  All native `MySQL' clients can connect to
     both MySQL versions.

     The extended MySQL binary distribution is marked with the `-max'
     suffix and is configured with the same options as `mysqld-max'.
     Note: `mysqld-max'.

     If you want to use the `MySQL-Max' RPM, you must first install the
     standard `MySQL' RPM.

   * If you want to configure `mysqld' with some extra features that are
     NOT in the standard binary distributions.  Here is a list of the
     most common extra options that you may want to use:

        * `--with-berkeley-db'

        * `--with-innodb'

        * `--with-raid'

        * `--with-libwrap'

        * `--with-named-z-lib  (This is done for some of the binaries)'

        * `--with-debug[=full]'

   * The default binary distribution is normally compiled with support
     for all characters sets and should work on a variety of processors
     from the same processor family.

     If you want a faster MySQL server you may want to recompile it
     with support for only the character sets you need, use a better
     compiler (like `pgcc') or use compiler options that are better
     optimized for your processor.

   * If you have found a bug and reported it to the MySQL development
     team you will probably receive a patch that you need to apply to
     the source distribution to get the bug fixed.

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

The MySQL naming scheme uses release numbers that consist of three
numbers and a suffix.  For example, a release name like
`mysql-3.21.17-beta' is interpreted like this:

   * The first number (`3') describes the file format.  All Version 3
     releases have the same file format.

   * The second number (`21') is the release level.  Normally there are
     two to choose from. One is the release/stable branch (currently
     `23') and the other is the development branch (currently `4.0').
     Normally both are stable, but the development version may have
     quirks, missing documentation on new features, or may fail to
     compile on some systems.

   * The third number (`17') is the version number within the release
     level.  This is incremented for each new distribution.  Usually you
     want the latest version for the release level you have chosen.

   * The suffix (`beta') indicates the stability level of the release.
     The possible suffixes are:

        - `alpha' indicates that the release contains some large
          section of new code that hasn't been 100% tested.  Known bugs
          (usually there are none) should be documented in the News
          section.  Note: News.  There are also new commands and
          extensions in most alpha releases.  Active development that
          may involve major code changes can occur on an alpha release,
          but everything will be tested before doing a release.  There
          should be no known bugs in any MySQL release.

        - `beta' means that all new code has been tested.  No major new
          features that could cause corruption on old code are added.
          There should be no known bugs.  A version changes from alpha
          to beta when there haven't been any reported fatal bugs
          within an alpha version for at least a month and we don't
          plan to add any features that could make any old command more
          unreliable.

        - `gamma' is a beta that has been around a while and seems to
          work fine.  Only minor fixes are added.  This is what many
          other companies call a release.

        - If there is no suffix, it means that the version has been run
          for a while at many different sites with no reports of bugs
          other than platform-specific bugs.  Only critical bug fixes
          are applied to the release. This is what we call a stable
          release.

All versions of MySQL are run through our standard tests and benchmarks
to ensure that they are relatively safe to use.  Because the standard
tests are extended over time to check for all previously found bugs,
the test suite keeps getting better.

Note that all releases have been tested at least with:

An internal test suite
     This is part of a production system for a customer.  It has many
     tables with hundreds of megabytes of data.

The MySQL benchmark suite
     This runs a range of common queries.  It is also a test to see
     whether the latest batch of optimizations actually made the code
     faster.  Note: MySQL Benchmarks.

The `crash-me' test
     This tries to determine what features the database supports and
     what its capabilities and limitations are.  Note: MySQL
     Benchmarks.

Another test is that we use the newest MySQL version in our internal
production environment, on at least one machine.  We have more than 100
gigabytes of data to work with.


automatically generated by info2www version 1.2.2.9