(mysql.info.gz) Which OS
Info Catalog
(mysql.info.gz) General Installation Issues
(mysql.info.gz) General Installation Issues
(mysql.info.gz) Which version
2.1.1 Operating Systems Supported by MySQL
------------------------------------------
This section lists the operating systems on which you can expect to be
able to run MySQL.
We use GNU Autoconf, so it is possible to port MySQL to all modern
systems that have a C++ compiler and a working implementation of POSIX
threads. (Thread support is needed for the server. To compile only the
client code, the only requirement is a C++ compiler.) We use and
develop the software ourselves primarily on Linux (SuSE and Red Hat),
FreeBSD, and Sun Solaris (Versions 8 and 9).
MySQL has been reported to compile successfully on the following
combinations of operating system and thread package. Note that for many
operating systems, native thread support works only in the latest
versions.
* AIX 4.x, 5.x with native threads. IBM-AIX.
* Amiga.
* BSDI 2.x with the MIT-pthreads package. BSDI.
* BSDI 3.0, 3.1 and 4.x with native threads. BSDI.
* Digital Unix 4.x with native threads. Alpha-DEC-UNIX.
* FreeBSD 2.x with the MIT-pthreads package. FreeBSD.
* FreeBSD 3.x and 4.x with native threads. FreeBSD.
* FreeBSD 4.x with LinuxThreads. FreeBSD.
* HP-UX 10.20 with the DCE threads or the MIT-pthreads package.
HP-UX 10.20.
* HP-UX 11.x with the native threads. HP-UX 11.x.
* Linux 2.0+ with LinuxThreads 0.7.1+ or `glibc' 2.0.7+ for various
CPU architectures. Linux.
* Mac OS X. Mac OS X.
* NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (requires GNU make).
NetBSD.
* Novell NetWare 6.0. NetWare installation.
* OpenBSD > 2.5 with native threads. OpenBSD < 2.5 with the
MIT-pthreads package. OpenBSD.
* OS/2 Warp 3, FixPack 29 and OS/2 Warp 4, FixPack 4. OS/2.
* SCO OpenServer with a recent port of the FSU Pthreads package.
SCO.
* SCO UnixWare 7.1.x. SCO UnixWare.
* SGI Irix 6.x with native threads. SGI-Irix.
* Solaris 2.5 and above with native threads on SPARC and x86.
Solaris.
* SunOS 4.x with the MIT-pthreads package. Solaris.
* Tru64 Unix. Alpha-DEC-UNIX.
* Windows 9x, Me, NT, 2000, XP, and 2003. Windows
installation.
Not all platforms are equally well-suited for running MySQL. How well a
certain platform is suited for a high-load mission-critical MySQL
server is determined by the following factors:
* General stability of the thread library. A platform may have an
excellent reputation otherwise, but MySQL will be only as stable
as the thread library if that library is unstable in the code that
is called by MySQL, even if everything else is perfect.
* The capability of the kernel and the thread library to take
advantage of symmetric multi-processor (SMP) systems. In other
words, when a process creates a thread, it should be possible for
that thread to run on a different CPU than the original process.
* The capability of the kernel and the thread library to run many
threads that acquire and release a mutex over a short critical
region frequently without excessive context switches. If the
implementation of `pthread_mutex_lock()' is too anxious to yield
CPU time, this will hurt MySQL tremendously. If this issue is not
taken care of, adding extra CPUs will actually make MySQL slower.
* General filesystem stability and performance.
* If your tables are big, the ability of the filesystem to deal with
large files at all and to deal with them efficiently.
* Our level of expertise here at MySQL AB with the platform. If we
know a platform well, we enable platform-specific optimizations
and fixes at compile time. We can also provide advice on
configuring your system optimally for MySQL.
* The amount of testing we have done internally for similar
configurations.
* The number of users that have successfully run MySQL on the
platform in similar configurations. If this number is high, the
chances of encountering platform-specific surprises are much
smaller.
Based on the preceding criteria, the best platforms for running MySQL
at this point are x86 with SuSE Linux using a 2.4 kernel, and ReiserFS
(or any similar Linux distribution) and SPARC with Solaris (2.7-9).
FreeBSD comes third, but we really hope it will join the top club once
the thread library is improved. We also hope that at some point we will
be able to include into the top category all other platforms on which
MySQL currently compiles and runs okay, but not quite with the same
level of stability and performance. This will require some effort on
our part in cooperation with the developers of the operating system and
library components that MySQL depends on. If you are interested in
improving one of those components, are in a position to influence its
development, and need more detailed instructions on what MySQL needs to
run better, send an email message to the MySQL `internals' mailing list.
Mailing-list.
Please note that the purpose of the preceding comparison is not to say
that one operating system is better or worse than another in general.
We are talking only about choosing an OS for the specific purpose of
running MySQL. With this in mind, the result of this comparison would
be different if we considered more factors. In some cases, the reason
one OS is better than the other could simply be that we have been able
to put more effort into testing and optimizing for a particular
platform. We are just stating our observations to help you decide
which platform to use for running MySQL.
Info Catalog
(mysql.info.gz) General Installation Issues
(mysql.info.gz) General Installation Issues
(mysql.info.gz) Which version
automatically generated byinfo2html