Oracle provides a set of binary distributions of MySQL. These
include binary distributions in the form of compressed
tar files (files with a
.tar.gz extension) for a number of platforms,
as well as binaries in platform-specific package formats for
This section covers the installation of MySQL from a compressed tar file binary distribution. For other platform-specific package formats, see the other platform-specific sections. For example, for Windows distributions, see Installing MySQL on Microsoft Windows.
To obtain MySQL, see How to Get MySQL.
MySQL compressed tar file binary distributions
have names of the form
number (for example,
OS indicates the type of operating system
for which the distribution is intended (for example,
To install MySQL from a compressed tar file
binary distribution, your system must have GNU
gunzip to uncompress the distribution and a
reasonable tar to unpack it. If your
tar program supports the
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,
/usr/local/bin. GNU tar is
available from http://www.gnu.org/software/tar/.
If you have previously installed MySQL using your operating system
native package management system, such as
apt-get, you may experience problems
installing using a native binary. Make sure your previous MySQL
installation has been removed entirely (using your package
management system), and that any additional files, such as old
versions of your data files, have also been removed. You should
also check the existence of configuration files such as
/etc/my.cnf or the
/etc/mysql directory have been deleted.
MySQL has a dependency on the
The mysql_install_db and subsequent
mysqld_safe steps will fail if this library is
not installed locally. If necessary, install it using the
appropriate package manager. For example, on Yum-based systems:
yum search libaio# search for info shell>
yum install libaio# install library
Or, on APT-based systems:
apt-cache search libaio# search for info shell>
apt-get install libaio1# install library
If you run into problems and need to file a bug report, please use the instructions in How to Report Bugs or Problems.
On Unix, to install a compressed tar file binary
distribution, unpack it at the installation location you choose
/usr/local/mysql). This creates the
directories shown in the following table.
Table 1.1 MySQL Installation Layout for Generic Unix/Linux Binary Package
|Directory||Contents of Directory|
|mysqld server, client and utility programs|
|Log files, databases|
|Manual in Info format|
|Unix manual pages|
|Include (header) files|
|Miscellaneous support files, including error messages, sample configuration files, SQL for database installation|
Debug versions of the mysqld binary are available as mysqld-debug. To compile your own debug version of MySQL from a source distribution, use the appropriate configuration options to enable debugging support. For more information on compiling from source, see Installing MySQL from Source.
To install and use a MySQL binary distribution, the basic command sequence looks like this:
useradd -r -g mysql mysqlshell>
chown -R root .shell>
chown -R mysql datashell>
chgrp -R mysql .shell>
scripts/mysql_install_db --user=mysql# Next command is optional shell>
cp support-files/my-medium.cnf /etc/my.cnfshell>
bin/mysqld_safe --user=mysql &# Next command is optional shell>
cp support-files/mysql.server /etc/init.d/mysql.server
This procedure assumes that you have
(administrator) access to your system. Alternatively, you can
prefix each command using the sudo (Linux) or
pfexec (OpenSolaris) command.
A more detailed version of the preceding description for installing a binary distribution follows.
The procedure does not set up any passwords for MySQL accounts. After following it, proceed to Securing the Initial MySQL Accounts.
If your system does not already have a user and group for
mysqld to run as, you may need to create one. The
following commands add the
mysql group and the
mysql user. You might want to call the user and
group something else instead of
mysql. If so,
substitute the appropriate name in the following instructions. The
syntax for useradd and
groupadd may differ slightly on different
versions of Unix, or they may have different names such as
adduser and addgroup.
useradd -r -g mysql mysql
Because the user is required only for ownership purposes, not
login purposes, the useradd command uses the
-r option to create a user that does not have
login permissions to your server host. Omit this option to permit
logins for the user, or if your useradd does
not support the option.
Pick the directory under which you want to unpack the distribution
and change location into it. The example here unpacks the
instructions, therefore, assume that you have permission to create
files and directories in
/usr/local. If that
directory is protected, you must perform the installation as
Obtain a distribution file using the instructions in How to Get MySQL. For a given release, binary distributions for all platforms are built from the same MySQL source distribution.
Unpack the distribution, which creates the installation directory.
Then create a symbolic link to that directory.
tar can uncompress and unpack the distribution if
z option support:
The tar command creates a directory named
ln command makes a symbolic link to that
directory. This enables you to refer more easily to the installation
If your tar does not have
option support, use gunzip to unpack the
distribution and tar to unpack it. Replace the
preceding tar command with the following
alternative command to uncompress and extract the distribution:
/path/to/mysql-VERSION-OS.tar.gz | tar xvf -
The remainder of the installation process involves setting up the configuration file, creating the core databases, and starting the MySQL server. For next steps, see Postinstallation Setup and Testing.
The accounts that are listed in the MySQL grant tables initially have no passwords. After starting the server, set up passwords for them using the instructions in Securing the Initial MySQL Accounts.