Building MySQL from the source code enables you to customize build parameters, compiler optimizations, and installation location. For a list of systems on which MySQL is known to run, see http://www.mysql.com/support/supportedplatforms/database.html.
Before you proceed with an installation from source, check whether Oracle produces a precompiled binary distribution for your platform and whether it works for you. We put a great deal of effort into ensuring that our binaries are built with the best possible options for optimal performance. Instructions for installing binary distributions are available in Installing MySQL on Unix/Linux Using Generic Binaries.
There are two methods for installing MySQL from source:
Use a standard MySQL source distribution. To obtain a standard distribution, see How to Get MySQL. For instructions on building from a standard distribution, see Chapter 2, Installing MySQL Using a Standard Source Distribution.
Standard distributions are available as compressed
tar files, Zip archives, or RPM packages.
Distribution files have names of the form
mysql-,
VERSION.tar.gzmysql-,
or
VERSION.zipmysql-,
where VERSION.rpmVERSION is a number like
5.7.16. File names for source
distributions can be distinguished from those for precompiled
binary distributions in that source distribution names are
generic and include no platform name, whereas binary
distribution names include a platform name indicating the type
of system for which the distribution is intended (for example,
pc-linux-i686 or winx64).
Use a MySQL development tree. For information on building from one of the development trees, see Chapter 3, Installing MySQL Using a Development Source Tree.
Installation of MySQL from source requires several development tools. Some of these tools are needed no matter whether you use a standard source distribution or a development source tree. Other tool requirements depend on which installation method you use.
To install MySQL from source, the following system requirements must be satisfied, regardless of installation method:
CMake, which is used as the build framework on all platforms. CMake can be downloaded from http://www.cmake.org.
A good make program. Although some platforms come with their own make implementations, it is highly recommended that you use GNU make 3.75 or higher. It may already be available on your system as gmake. GNU make is available from http://www.gnu.org/software/make/.
A working ANSI C++ compiler. GCC 4.4.6 or later, Clang 3.3 or later (FreeBSD and OS X), Visual Studio 2013 or later, and many current vendor-supplied compilers are known to work.
The Boost C++ libraries are required to build MySQL (but not to
use it). Boost 1.59.0 must be installed. To obtain Boost and its
installation instructions, visit
the official site.
After Boost is installed, tell the build system where the Boost
files are located by defining the
WITH_BOOST option when you invoke
CMake. For example:
shell> cmake . -DWITH_BOOST=/usr/local/boost_1_59_0
Adjust the path as necessary to match your installation.
Sufficient free memory. If you encounter problems such as “internal compiler error” when compiling large source files, it may be that you have too little memory. If compiling on a virtual machine, try increasing the memory allocation.
Perl is needed if you intend to run test scripts. Most Unix-like systems include Perl. On Windows, you can use a version such as ActiveState Perl.
To install MySQL from a standard source distribution, one of the following tools is required to unpack the distribution file:
For a .tar.gz compressed
tar file: GNU gunzip to
uncompress the distribution and a reasonable
tar to unpack it. If your
tar program supports the z
option, it can both uncompress and unpack the file.
GNU tar is known to work. The standard
tar provided with some operating systems is
not able to unpack the long file names in the MySQL
distribution. You should download and install GNU
tar, or if available, use a preinstalled
version of GNU tar. Usually this is available as
gnutar, gtar, or as
tar within a GNU or Free Software directory,
such as /usr/sfw/bin or
/usr/local/bin. GNU tar
is available from
http://www.gnu.org/software/tar/.
For a .zip Zip archive:
WinZip or another tool that can read
.zip files.
For an .rpm RPM package: The
rpmbuild program used to build the
distribution unpacks it.
To install MySQL from a development source tree, the following additional tools are required:
The Git revision control system is required to obtain the development source code. The GitHub Help provides instructions for downloading and installing Git on different platforms. MySQL officially joined GitHub in September, 2014. For more information about MySQL's move to GitHub, refer to the announcement on the MySQL Release Engineering blog: MySQL on GitHub
bison 2.1 or higher, available from http://www.gnu.org/software/bison/. (Version 1 is no longer supported.) Use the latest version of bison where possible; if you experience problems, upgrade to a later version, rather than revert to an earlier one.
bison is available from
http://www.gnu.org/software/bison/.
bison for Windows can be downloaded from
http://gnuwin32.sourceforge.net/packages/bison.htm.
Download the package labeled “Complete package, excluding
sources”. On Windows, the default location for
bison is the C:\Program
Files\GnuWin32 directory. Some utilities may fail to
find bison because of the space in the
directory name. Also, Visual Studio may simply hang if there are
spaces in the path. You can resolve these problems by installing
into a directory that does not contain a space; for example
C:\GnuWin32.
On OpenSolaris and Solaris Express, m4 must be installed in addition to bison. m4 is available from http://www.gnu.org/software/m4/.
If you have to install any programs, modify your
PATH environment variable to include any
directories in which the programs are located. See
Setting Environment Variables.
If you run into problems and need to file a bug report, please use the instructions in How to Report Bugs or Problems.