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
LinuxThreads.
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
instead.
If you have problems with an RPM file (for example, if you receive
the error Sorry, the host
'xxxx
' could not be looked
up
), see Section 2.12.1.2, “Linux Binary Distribution Notes”.
In most cases, you need to install only the
MySQL-server
and
MySQL-client
packages to get a functional MySQL
installation. The other packages are not required for a standard
installation.
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:
-
MySQL-server-VERSION
.i386.rpm
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
MySQL-VERSION
.i386.rpm
before MySQL 4.0.10. That is, they did not have
-server
in the name.
-
MySQL-Max-VERSION
.i386.rpm
The MySQL-Max server. This server has additional capabilities
that the one provided in the MySQL-server
RPM does not. You must install the
MySQL-server
RPM first, because the
MySQL-Max
RPM depends on it.
-
MySQL-client-VERSION
.i386.rpm
The standard MySQL client programs. You probably always want
to install this package.
-
MySQL-bench-VERSION
.i386.rpm
Tests and benchmarks. Requires Perl and the
DBD::mysql
module.
-
MySQL-devel-VERSION
.i386.rpm
The libraries and include files that are needed if you want to
compile other MySQL clients, such as the Perl modules.
-
MySQL-shared-VERSION
.i386.rpm
This package contains the shared libraries
(libmysqlclient.so*
) that certain languages
and applications need to dynamically load and use MySQL.
-
MySQL-shared-compat-VERSION
.i386.rpm
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
4.0.13.
-
MySQL-embedded-VERSION
.i386.rpm
The embedded MySQL server library (available as of MySQL 4.0).
-
MySQL-VERSION
.src.rpm
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:
shell> rpm -qpl MySQL-server-VERSION
.i386.rpm
To perform a standard minimal installation, install the server and
client RPMs:
shell> rpm -i MySQL-server-VERSION
.i386.rpm
shell> rpm -i MySQL-client-VERSION
.i386.rpm
To install only the client programs, install just the client RPM:
shell> rpm -i MySQL-client-VERSION
.i386.rpm
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 GnuPG
”.
The server RPM places data under the
/var/lib/mysql
directory. The RPM also
creates a login account for a user named mysql
(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 2.9.2.2, “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 /etc/rc.d/init.d
, use
these commands before installing the RPM to create
/etc/init.d
as a symbolic link that points
there:
shell> cd /etc
shell> ln -s rc.d/init.d .
However, all current major Linux distributions should support the
new directory layout that uses /etc/init.d
,
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”.