A more detailed version of the preceding description for installing a
binary distribution follows:
distribution. To start the MySQL server, use the following command:
If that command fails immediately and prints `mysqld ended', you can
find some information in the `HOST_NAME.err' file in the data directory.
More information about `mysqld_safe' is given in *Note mysqld-safe::.
*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 *Note
post-installation::.
binary distribution follows:
- Add a login user and group for `mysqld' to run as:
 
shell> groupadd mysql
shell> useradd -g mysql 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, or they may have different names such
as `adduser' and `addgroup'.
syntax for `useradd' and `groupadd' may differ slightly on
different versions of Unix, or they may have different names such
as `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.
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 must perform the
 installation as `root'.)
 
shell> cd /usr/local
- Obtain a distribution file using the instructions in *Note
 getting-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 -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
The `tar' command creates a directory named `mysql-VERSION-OS'.
The `ln' command makes a symbolic link to that directory. This
lets you refer more easily to the installation directory as
`/usr/local/mysql'.
The `ln' 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:
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 will find several files and subdirectories in the `mysql'
directory. The most important for installation purposes are the
`bin' and `scripts' subdirectories:
directory. The most important for installation purposes are the
`bin' and `scripts' subdirectories:
- The `bin' 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 *Note environment-variables::.
 
- The `scripts' directory contains the `mysql_install_db'
 script used to initialize the `mysql' database containing the
 grant tables that store the server access permissions.
 
shell> scripts/mysql_install_db --user=mysql
If you run the command as `root', you must 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.
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.
After creating or updating the grant tables, you need to restart
the server manually.
the server manually.
- 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 .
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.
`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 want 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
 - Note automatic-start::.
 
 
- Note automatic-start::.
- 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 *Note perl-support::.
 
- If you would like to use `mysqlaccess' and have the MySQL
 distribution in some non-standard location, 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, a `Broken pipe' error
will occur when you run `mysqlaccess'.
distribution. To start the MySQL server, use the following command:
shell> bin/mysqld_safe --user=mysql &
find some information in the `HOST_NAME.err' file in the data directory.
initially have no passwords. After starting the server, you should set
up passwords for them using the instructions in *Note
post-installation::.












