This section lists the operating systems on which MySQL Community Server is known to run.
Oracle Corporation does not necessarily provide official support for all the platforms listed in this section. For information about those platforms that are officially supported, see http://www.mysql.com/support/supportedplatforms.html on the MySQL Web site.
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.)
MySQL has been reported to compile successfully on the following combinations of operating system and thread package.
AIX 4.x and 5.x with native threads. See Section 220.127.116.11, “IBM-AIX notes”. AIX 5.3 should be upgraded to technology level 7 (5300-07).
FreeBSD 5.x and up with native threads.
HP-UX 11.x with native threads. See Section 18.104.22.168, “HP-UX Version 11.x Notes”.
Linux. Builds on all recent Linux distributions based on the 2.6 kernel. See Section 2.20.1, “Linux Notes”.
Mac OS X. See Section 2.11, “Installing MySQL on Mac OS X”.
NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha. See Section 22.214.171.124, “NetBSD Notes”.
Novell NetWare 6.0 and 6.5. See Section 2.15, “Installing MySQL on NetWare”.
SCO OpenServer 5.0.X with a recent port of the FSU Pthreads package. See Section 126.96.36.199, “SCO UNIX and OpenServer 5.0.x Notes”.
SCO Openserver 6.0.x. See Section 188.8.131.52, “SCO OpenServer 6.0.x Notes”.
SCO UnixWare 7.1.x. See Section 184.108.40.206, “SCO UnixWare 7.1.x and OpenUNIX 8.0.0 Notes”.
SGI Irix 6.x with native threads. See Section 220.127.116.11, “SGI Irix Notes”.
Solaris 2.5 and above with native threads on SPARC and x86. See Section 2.20.3, “Solaris Notes”.
Tru64 Unix. See Section 18.104.22.168, “Alpha-DEC-UNIX Notes (Tru64)”.
Windows 2000, XP, Windows Server 2003, Windows Vista, and Windows Server 2008. See Section 2.10, “Installing MySQL on Microsoft Windows”.
MySQL has also been known to run on other systems in the past. See Section 2.20, “Operating System-Specific Notes”. Some porting effort might be required for current versions of MySQL on these systems.
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. When a process creates a thread, it should be possible for that thread to run on a CPU different from the original process.
Multi-threading and handling of mutexes.
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() does not easily
yield CPU time, this hurts MySQL tremendously. If this issue
is not taken care of, adding extra CPUs actually makes MySQL
File system stability and performance. MySQL's stability and performance are directly affected by those of the operating platform's file system. In particular, where large tables are in use, performance is affected by the ability of the file system to deal with large files at all and to deal with them efficiently.
Expertise 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. This is also affected by the amount of testing we have done internally for similar configurations, as well as by the number of users that have run MySQL successfully on the platform in similar configurations. If these figures are high, the likelihood of encountering platform-specific surprises is much smaller.