2.4. Installing MySQL on Linux
The recommended way to install MySQL on Linux is by using the RPM
packages. The MySQL RPMs are currently built on a SuSE Linux 7.3
system, but should work on most versions of Linux that support
rpm and use
glibc. To obtain
RPM packages, see Section 2.1.3, “How to Get MySQL”.
MySQL AB does provide some platform-specific RPMs; the difference
between a platform-specific RPM and a generic RPM is that a
platform-specific RPM is built on the targeted platform and is
linked dynamically whereas a generic RPM is linked statically with
Note: RPM distributions of MySQL
often are provided by other vendors. Be aware that they may differ
in features and capabilities from those built by MySQL AB, and
that the instructions in this manual do not necessarily apply to
installing them. The vendor's instructions should be consulted
If you have problems with an RPM file (for example, if you receive
Sorry, the host
'), see Section 220.127.116.11, “Linux Binary Distribution Notes”.
xxxx' could not be looked
In most cases, you need to install only the
MySQL-client packages to get a functional MySQL
installation. The other packages are not required for a standard
If you get a dependency failure when trying to install MySQL
packages (for example,
error: removing these packages
would break dependencies: libmysqlclient.so.10 is needed by
...), you should also install the
MySQL-shared-compat package, which includes
both the shared libraries for backward compatibility
libmysqlclient.so.12 for MySQL 4.0 and
libmysqlclient.so.10 for MySQL 3.23).
Some Linux distributions still ship with MySQL 3.23 and they
usually link applications dynamically to save disk space. If these
shared libraries are in a separate package (for example,
MySQL-shared), it is sufficient to simply leave
this package installed and just upgrade the MySQL server and
client packages (which are statically linked and do not depend on
the shared libraries). For distributions that include the shared
libraries in the same package as the MySQL server (for example,
Red Hat Linux), you could either install our 3.23
MySQL-shared RPM, or use the
MySQL-shared-compat package instead.
The following RPM packages are available:
The MySQL server. You need this unless you only want to
connect to a MySQL server running on another machine. Note:
Server RPM files were called
before MySQL 4.0.10. That is, they did not have
-server in the name.
The MySQL-Max server. This server has additional capabilities
that the one provided in the
RPM does not. You must install the
MySQL-server RPM first, because the
MySQL-Max RPM depends on it.
The standard MySQL client programs. You probably always want
to install this package.
Tests and benchmarks. Requires Perl and the
The libraries and include files that are needed if you want to
compile other MySQL clients, such as the Perl modules.
This package contains the shared libraries
libmysqlclient.so*) that certain languages
and applications need to dynamically load and use MySQL.
This package includes the shared libraries for both MySQL 3.23
and MySQL 4.0. Install this package instead of
MySQL-shared if you have applications
installed that are dynamically linked against MySQL 3.23 but
you want to upgrade to MySQL 4.0 without breaking the library
dependencies. This package has been available since MySQL
The embedded MySQL server library (available as of MySQL 4.0).
This contains the source code for all of the previous
packages. It can also be used to rebuild the RPMs on other
architectures (for example, Alpha or SPARC).
To see all files in an RPM package (for example, a
MySQL-server RPM), run a commnd like this:
rpm -qpl MySQL-server-
To perform a standard minimal installation, install the server and
rpm -i MySQL-server-
rpm -i MySQL-client-
To install only the client programs, install just the client RPM:
rpm -i MySQL-client-
RPM provides a feature to verify the integrity and authenticity of
packages before installing them. If you would like to learn more
about this feature, see
Section 2.1.4, “Verifying Package Integrity Using MD5 Checksums or
The server RPM places data under the
/var/lib/mysql directory. The RPM also
creates a login account for a user named
(if one does not exist) to use for running the MySQL server, and
creates the appropriate entries in
/etc/init.d/ to start the server
automatically at boot time. (This means that if you have performed
a previous installation and have made changes to its startup
script, you may want to make a copy of the script so that you
don't lose it when you install a newer RPM.) See
Section 18.104.22.168, “Starting and Stopping MySQL Automatically”, for more information on how
MySQL can be started automatically on system startup.
If you want to install the MySQL RPM on older Linux distributions
that do not support initialization scripts in
/etc/init.d (directly or via a symlink), you
should create a symbolic link that points to the location where
your initialization scripts actually are installed. For example,
if that location is
these commands before installing the RPM to create
/etc/init.d as a symbolic link that points
ln -s rc.d/init.d .
However, all current major Linux distributions should support the
new directory layout that uses
because it is required for LSB (Linux Standard Base) compliance.
If the RPM files that you install include
MySQL-server, the mysqld
server should be up and running after installation. You should be
able to start using MySQL.
If something goes wrong, you can find more information in the
binary installation section. See
Section 2.7, “Installing MySQL on Other Unix-Like Systems”.
Note: The accounts that are
listed in the MySQL grant tables initially have no passwords.
After starting the server, you should set up passwords for them
using the instructions in Section 2.9, “Post-Installation Setup and Testing”.