Copyright (C) 2000-2012 |
GNU Info (mysql.info)Binary notes-LinuxLinux 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 |