|

MySQL Database: Operating Systems Supported By MySQL
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..
- Amiga.
- BSDI 2.x with the MIT-pthreads package.
- BSDI 3.0, 3.1 and 4.x with native threads.
- Digital Unix 4.x with native threads.
- FreeBSD 2.x with the MIT-pthreads package.
- FreeBSD 3.x and 4.x with native threads. S
- FreeBSD 4.x with LinuxThreads.
- HP-UX 10.20 with the DCE threads or the MIT-pthreads
package.
- HP-UX 11.x with the native threads.
- Linux 2.0+ with LinuxThreads 0.7.1+ or
glibc 2.0.7+ for various CPU architectures.
- Mac OS X.
- NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (requires GNU
make).
- Novell NetWare 6.0.
- OpenBSD > 2.5 with native threads. OpenBSD < 2.5 with the
MIT-pthreads package.
- OS/2 Warp 3, FixPack 29 and OS/2 Warp 4, FixPack 4.
- SCO OpenServer with a recent port of the FSU Pthreads
package.
- SCO UnixWare 7.1.x.
- SGI Irix 6.x with native threads.
- Solaris 2.5 and above with native threads on SPARC and x86.
- SunOS 4.x with the MIT-pthreads package.
- Tru64 Unix.
- Windows 9x, Me, NT, 2000, XP, and 2003.
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 is only as stable
as the thread library it calls, 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 hurts MySQL tremendously. If this issue is not taken care
of, adding extra CPUs actually makes 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.
|