:: DEVELOPER ZONE
This section covers the installation of MySQL binary distributions
that are provided for various platforms in the form of compressed
tar files (files with a .tar.gz
extension). See Section 2.1.2.5, “MySQL Binaries Compiled by MySQL AB” for a detailed list.
To obtain MySQL, see Section 2.1.3, “How to Get MySQL”.
MySQL tar file binary distributions have names of
the form
mysql-,
where VERSION-OS.tar.gz is a
number (for example, VERSION4.0.17), and
OS indicates the type of operating system
for which the distribution is intended (for example,
pc-linux-i686).
In addition to these generic packages, we also offer binaries in platform-specific package formats for selected platforms. See Section 2.2, “Standard MySQL Installation Using a Binary Distribution” for more information on how to install these.
You need the following tools to install a MySQL tar file binary distribution:
GNU gunzip to uncompress the distribution.
A reasonable tar to unpack the distribution. GNU tar is known to work. Some operating systems come with a pre-installed version of tar that is known to have problems. For example, Mac OS X tar and Sun tar are known to have problems with long filenames. On Mac OS X, you can use the pre-installed gnutar program. On other systems with a deficient tar, you should install GNU tar first.
If you run into problems, please always use
mysqlbug when posting questions to a
MySQL mailing list. Even if the problem isn't a bug,
mysqlbug gathers system information that helps
others solve your problem. By not using mysqlbug,
you lessen the likelihood of getting a solution to your problem. You
can find mysqlbug in the bin
directory after you unpack the distribution. See
Section 1.6.1.3, “How to Report Bugs or Problems”.
The basic commands you must execute to install and use a MySQL binary distribution are:
shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> gunzip </path/to/mysql-VERSION-OS.tar.gz | tar xvf - shell> ln -sfull-path-to-mysql-VERSION-OSmysql shell> cd mysql shell> scripts/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql data shell> chgrp -R mysql . shell> bin/mysqld_safe --user=mysql &
For versions of MySQL older than 4.0, substitute bin/safe_mysqld for bin/mysqld_safe in the final command.
Note: This procedure does not set up any passwords for MySQL accounts. After following the procedure, proceed to Section 2.9, “Post-Installation Setup and Testing”.
A more detailed version of the preceding description for installing a binary distribution follows:
Add a login user and group for mysqld to run as:
shell> groupadd mysql shell> useradd -g mysql mysql
These commands add the mysql group and the
mysql user. The syntax for
useradd and groupadd may
differ slightly on different versions of Unix. They may also be
called adduser and addgroup.
You might want to call the user and group something else instead of
mysql. If so, substitute the appropriate name in
the following steps.
Pick the directory under which you want to unpack the distribution,
and change location into it. In the following example, we unpack the
distribution under /usr/local. (The
instructions, therefore, assume that you have permission to create
files and directories in /usr/local. If that
directory is protected, you need to perform the installation as
root.)
shell> cd /usr/local
Obtain a distribution file from one of the sites listed in Section 2.1.3, “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:
shell> gunzip </path/to/mysql-VERSION-OS.tar.gz | tar xvf - shell> ln -sfull-path-to-mysql-VERSION-OSmysql
The tar command creates a directory named
mysql-.
The VERSION-OSln command makes a symbolic link to that
directory. This lets you refer more easily to the installation
directory as /usr/local/mysql.
With GNU tar, no separate invocation of
gunzip is necessary. You can replace the first
line with the following alternative command to uncompress and
extract the distribution:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
Change location into the installation directory:
shell> cd mysql
You can find several files and subdirectories in the
mysql directory. The most important for
installation purposes are the bin and
scripts subdirectories.
bin
This directory contains client programs and the server. You should
add the full pathname of this directory to your
PATH environment variable so that your shell
finds the MySQL programs properly. See
Appendix F, Environment Variables.
scripts
This directory contains the mysql_install_db
script used to initialize the mysql database
containing the grant tables that store the server access
permissions.
If you haven't installed MySQL before, you must create the MySQL grant tables:
shell> scripts/mysql_install_db --user=mysql
If you run the command as root, you should use
the --user option as shown. The value of the
option should be the name of the login account that you created in
the first step to use for running the server. If you run the command
while logged in as that user, you can omit the
--user option.
Note that for MySQL versions older than 3.22.10, mysql_install_db left the server running after creating the grant tables. This is no longer true; you need to restart the server after performing the remaining steps in this procedure.
Change the ownership of program binaries to root
and ownership of the data directory to the user that you run
mysqld as. Assuming that you are located in the
installation directory (/usr/local/mysql), the
commands look like this:
shell> chown -R root . shell> chown -R mysql data shell> chgrp -R mysql .
The first command changes the owner attribute of the files to the
root user. The second changes the owner attribute
of the data directory to the mysql user. The
third changes the group attribute to the mysql
group.
If you would like MySQL to start automatically when you boot your
machine, you can copy support-files/mysql.server
to the location where your system has its startup files. More
information can be found in the
support-files/mysql.server script itself and in
Section 2.9.2.2, “Starting and Stopping MySQL Automatically”.
You can set up new accounts using the
bin/mysql_setpermission script if you install the
DBI and DBD::mysql Perl
modules. For instructions, see Section 2.13, “Perl Installation Notes”.
If you would like to use mysqlaccess and have the
MySQL distribution in some non-standard place, you must change the
location where mysqlaccess expects to find the
mysql client. Edit the
bin/mysqlaccess script at approximately line
18. Search for a line that looks like this:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Change the path to reflect the location where
mysql actually is stored on your system. If you
do not do this, you get a Broken pipe error when
you run mysqlaccess.
After everything has been unpacked and installed, you should test your distribution.
You can start the MySQL server with the following command:
shell> bin/mysqld_safe --user=mysql &
For versions of MySQL older than 4.0, substitute bin/safe_mysqld for bin/mysqld_safe in the command.
More information about mysqld_safe is given in Section 5.1.3, “The mysqld_safe Server Startup Script”.
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”.
© 1995-2005 MySQL AB. All rights reserved.

User Comments
Warning: query failed: Unknown column 'user.firstname' in 'field list' in /data0/sites/live/web-main/lib/mysql-cxn.php on line 69
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data0/sites/live/web-main/lib/docbook.php on line 245
Add your own comment.