Go to the first, previous, next, last section, table of contents.


Installation instructions for MySQL binary release

Please always use the mysqlbug script when posting questions to the mailinglist (mysql@tcx.se). Even if the problem isn't a bug, mysqlbug gathers some system information that will help other solve your problem! See section I think I have found a bug. What information do you need to help me?.

  1. Get the distribution. That is a file called something like mysql-version-OS.tgz. For example a file holding a MySQL version 3.21.15 for a intel linux machine is called `mysql-3.21.15-alpha-pc-linux-gnu-i586.tgz'.
  2. Pick a directory to put MySQL in: In the following we will use `/usr/local/mysql' as the installation directory and MySQL version VERSION (something like 3.21.15) for SunOS5 (Solaris), for example.
  3. All of the following instructions assume you have permission to create files in `/usr/local'. Use the following commands to create the directory and unpack the distribution:
    > cd /usr/local
    > zcat /<where ever you put it>/mysql-3.20.0-SunOS5.tgz | tar xvf -
    > ln -s mysql-VERSION mysql
    
  4. After this you should install the MySQL privilege tables. In some binary versions the grant tables may already be created, for others distributions you should edit the `scripts/mysql_install_db' script to have the privileges you want and run it. The default privileges is that anybody may create/use the databases named 'test' or starting with "test_". The MySQL user root can do anything. Note that you do not have to run the MySQL server as root. Any user is ok as long as it can read and write in the installtion directories/files. If you want to recreate the privilege tables remove all the *.ISM and *.ISD files in the mysql database directory, edit the scripts/mysql_install_db script to have the privileges you want and run it. This creates the privilige tables if they don't exist:
    > scripts/mysql_install_db
    
    See section Problems running mysql_install_db If you want to change things in the grant tables after installing you should use mysql -u root mysql to connect to the grant tables as the 'root' user. The mysql_install_db script also starts the mysqld daemon.
  5. Normally, start the MySQL server daemon (not needed the first time):
    > bin/safe_mysqld --log &
    
  6. You can test that the daemon is running by doing this:
    > bin/mysqladmin ver
    
    That should print something like this. The exact output depends on you platfrom and use.
    bin/mysqladmin  Ver 6.3 Distrib 3.21.15-alpha, for SOLARIS 2.5 on SPARCstation
    TCX Datakonsult AB, by Monty
    
    Server version          3.21.15-alpha
    Protocol version        9
    Connection              Localhost via UNIX socket
    TCP port                3306
    UNIX socket             /tmp/mysql.sock
    Uptime:                 2 days 1 hour 42 min 3 sec
    
    Running threads: 2  Questions: 450378  Reloads: 17  Open tables: 64
    

To get perl work do the following:

cd perl/DBI
perl Makefile.PL
make
make install
cd ../Mysql-modules
perl Makefile.PL
make
make install

You should use the safe_mysqld script to the server. safe_mysqld expects one of two conditions to be true:

  1. You're executing the script from the base mysql installation directory (for example /usr/local/mysql)
  2. The server should reside in /my/. To get it to run correctly, you should cd to /usr/local/mysql and then execute safe_mysqld or modify the script so that it expects the base mysql directory to be `/usr/local/mysql' rather than the default `/my/'.

When you execute this:

> bin/mysqld --help

You will get the options for mysqld (and safe_mysqld) and the current paths. Normally you only should need to change the --basedir=path. You can test the path switches by executing:

> bin/mysqld --basedir=/usr/local --help

If you would like to use mysqlaccess and have the mysql distribution in some nonstandard place, you must change the path to mysql in mysqlaccess. bin/mysqlaccess about line 308:

$MYSQL = '/usr/local/bin/mysql --batch --unbuffered';

If you don't change the path, you will get a 'broken pipe' error when using mysqlaccess.

If you would like MySQL to start when you boot your machine, you can copy bin/mysql.server to where your system has it startup files. More information can be bound in the bin/mysql.server script itself.

Linux notes.

HP/UX notes.

The binary distribution of MySQL for HP/UX is distributed as an HP depot file. This means that you must be running at least HP/UX 10.x to have access to HP's software depot tools.

This version of MySQL was compiled on an HP 9000/8xx server under HP/UX 10.20, and uses MIT Pthreads. It is known to work well under this configuration. This version does not use HP's native thread package. It is highly unlikely that MySQL will use HP native threads on anything but HP/UX 10.30 or later.

Other configurations that may work:

9000/7xx - HP/UX 10.20+ 9000/8xx - HP/UX 10.30 (does not use HP native threads)

The following configurations almost definitely won't work:

9000/7xx or 8xx - HP/UX 10.x where x < 2 9000/7xx or 8xx - HP/UX 9.x

To install (everything, including server, client and development tools):

/usr/sbin/swinstall -s <full path to the depot file> mysql.full

To install server only:

/usr/sbin/swinstall -s <full path to the depot file> mysql.server

To install client pack only:

/usr/sbin/swinstall -s <full path to the depot file> mysql.client

To install development tools only:

/usr/sbin/swinstall -s <full path to the depot file> mysql.developer

The depot will place binaries/libraries in /opt/mysql and data in /var/opt/mysql. The depot will also create the appropriate entries in /sbin/init.d and /sbin/rc2.d to automatically start the server on boot. This obviously entails being root to install.

Linking client libraries

Clients have to be linked with: -lmysqlclient


Go to the first, previous, next, last section, table of contents.