A more detailed version of the preceding description for installing a binary distribution follows: 1. 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, 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. 2. 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 3. 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. 4. 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 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'. 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 5. 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: * 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. 6. Ensure that the distribution contents are accessible to `mysql'. If you unpacked the distribution as `mysql', no further action is required. If you unpacked the distribution as `root', its contents will be owned by `root'. Change its ownership to `mysql' by executing the following commands as `root' in the installation directory: shell> chown -R mysql . shell> chgrp -R mysql . The first command changes the owner attribute of the files to the `mysql' user. The second changes the group attribute to the `mysql' group. 7. If you have not installed MySQL before, you must create the MySQL data directory and initialize the grant tables: shell> scripts/mysql_install_db --user=mysql If you run the command as `root', include the `--user' option as shown. If you run the command while logged in as that user, you can omit the `--user' option. The command should create the data directory and its contents with `mysql' as the owner. After creating or updating the grant tables, you need to restart the server manually. 8. Most of the MySQL installation can be owned by `root' if you like. The exception is that the data directory must be owned by `mysql'. To accomplish this, run the following commands as `root' in the installation directory: shell> chown -R root . shell> chown -R mysql data 9. 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::. 10. You can set up new accounts using the `bin/mysql_setpermission' script if you install the `DBI' and `DBD::mysql' Perl modules. See *Note mysql-setpermission::. For Perl module installation instructions, see *Note perl-support::. 11. 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'. After everything has been unpacked and installed, you should test your distribution. To start the MySQL server, use the following command: shell> bin/mysqld_safe --user=mysql & |