DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) which-os

Info Catalog (mysql.info) general-installation-issues (mysql.info) general-installation-issues (mysql.info) 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. See  ibm-aix.
 
    * Amiga.
 
    * BSDI 2.x with the MIT-pthreads package. See  bsdi.
 
    * BSDI 3.0, 3.1 and 4.x with native threads. See  bsdi.
 
    * Digital Unix 4.x with native threads. See  alpha-dec-unix.
 
    * FreeBSD 2.x with the MIT-pthreads package. See  freebsd.
 
    * FreeBSD 3.x and 4.x with native threads. See  freebsd.
 
    * FreeBSD 4.x with LinuxThreads. See  freebsd.
 
    * HP-UX 10.20 with the DCE threads or the MIT-pthreads package. See
       hp-ux-10-20.
 
    * HP-UX 11.x with the native threads. See  hp-ux-11-x.
 
    * Linux 2.0+ with LinuxThreads 0.7.1+ or `glibc' 2.0.7+ for various
      CPU architectures. See  linux.
 
    * Mac OS X. See  mac-os-x.
 
    * NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (requires GNU make). See
       netbsd.
 
    * Novell NetWare 6.0 and 6.5. See  netware-installation.
 
    * OpenBSD 2.5 and with native threads. OpenBSD earlier than 2.5 with
      the MIT-pthreads package. See  openbsd.
 
    * OS/2 Warp 3, FixPack 29 and OS/2 Warp 4, FixPack 4. See 
      os-2.
 
    * SCO OpenServer 5.0.X with a recent port of the FSU Pthreads
      package. See  sco.
 
    * SCO Openserver 6.0.x. See  sco-openserver.
 
    * SCO UnixWare 7.1.x. See  sco-unixware.
 
    * SGI Irix 6.x with native threads. See  sgi-irix.
 
    * Solaris 2.5 and above with native threads on SPARC and x86.  See
       solaris.
 
    * SunOS 4.x with the MIT-pthreads package. See  solaris.
 
    * Tru64 Unix. See  alpha-dec-unix.
 
    * Windows 9x, Me, NT, 2000, XP, and Windows Server 2003. See 
      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 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 CPU different from 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 large, performance is affected by 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 run MySQL successfully on the
      platform in similar configurations. If this number is high, the
      likelihood of encountering platform-specific surprises is 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 or 2.6 kernel, and
 ReiserFS (or any similar Linux distribution) and SPARC with Solaris
 (2.7-9). FreeBSD comes third, but we really hope it joins the top club
 once the thread library is improved.  We also hope that at some point
 we are able to include into the top category all other platforms on
 which MySQL currently compiles and runs, but not quite with the same
 level of stability and performance. This requires some effort on our
 part in cooperation with the developers of the operating systems 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. See  mailing-lists.
 
 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 might
 be different if other factors were considered. In some cases, the
 reason one OS is better for MySQL than another might 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) general-installation-issues (mysql.info) general-installation-issues (mysql.info) which-version
automatically generated byinfo2html