GNU Info

Info Node: (mysql.info)Binary notes-Linux

(mysql.info)Binary notes-Linux


Next: Linux-x86 Prev: Linux Up: Linux
Enter node , (file) or (file)node

Linux Notes for Binary Distributions
....................................

MySQL needs at least Linux Version 2.0.

The binary release is linked with `-static', which means you do not
normally need to worry about which version of the system libraries you
have. You need not install LinuxThreads, either.  A program linked with
`-static' is slightly bigger than a dynamically linked program but also
slightly faster (3-5%).  One problem, however, is that you can't use
user-definable functions (UDFs) with a statically linked program.  If
you are going to write or use UDF functions (this is something only for
C or C++ programmers), you must compile MySQL yourself, using dynamic
linking.

If you are using a `libc'-based system (instead of a `glibc2' system),
you will probably get some problems with hostname resolving and
`getpwnam()' with the binary release. (This is because `glibc'
unfortunately depends on some external libraries to resolve hostnames
and `getpwent()', even when compiled with `-static'). In this case you
probably get the following error message when you run
`mysql_install_db':

     Sorry, the host 'xxxx' could not be looked up

or the following error when you try to run `mysqld' with the `--user'
option:

     getpwnam: No such file or directory

You can solve this problem in one of the following ways:

   * Get a MySQL source distribution (an RPM or the `tar.gz'
     distribution) and install this instead.

   * Execute `mysql_install_db --force'; This will not execute the
     `resolveip' test in `mysql_install_db'.  The downside is that you
     can't use host names in the grant tables; you must use IP numbers
     instead (except for `localhost').  If you are using an old MySQL
     release that doesn't support `--force', you have to remove the
     `resolveip' test in `mysql_install' with an editor.

   * Start `mysqld' with `su' instead of using `--user'.

The Linux-Intel binary and RPM releases of MySQL are configured for the
highest possible speed.  We are always trying to use the fastest stable
compiler available.

MySQL Perl support requires Version Perl 5.004_03 or newer.

On some Linux 2.2 versions, you may get the error `Resource temporarily
unavailable' when you do a lot of new connections to a `mysqld' server
over TCP/IP.

The problem is that Linux has a delay between when you close a TCP/IP
socket and until this is actually freed by the system.  As there is only
room for a finite number of TCP/IP slots, you will get the above error
if you try to do too many new TCP/IP connections during a small time,
like when you run the MySQL `test-connect' benchmark over TCP/IP.

We have mailed about this problem a couple of times to different Linux
mailing lists but have never been able to resolve this properly.

The only known 'fix' to this problem is to use persistent connections in
your clients or use sockets, if you are running the database server and
clients on the same machine.  We hope that the `Linux 2.4' kernel will
fix this problem in the future.


automatically generated by info2www version 1.2.2.9