( FreeBSD

Info Catalog ( BSD Notes ( BSD Notes ( NetBSD FreeBSD Notes
 FreeBSD 4.x or newer is recommended for running MySQL, because the
 thread package is much more integrated.  To get a secure and stable
 system, you should use only FreeBSD kernels that are marked `-RELEASE'.
 The easiest (and preferred) way to install MySQL is to use the
 `mysql-server' and `mysql-client' ports available at
 `'.  Using these ports gives you the following
    * A working MySQL with all optimizations enabled that are known to
      work on your version of FreeBSD.
    * Automatic configuration and build.
    * Startup scripts installed in `/usr/local/etc/rc.d'.
    * The ability to use `pkg_info -L' to see which files are installed.
    * The ability to use `pkg_delete' to remove MySQL if you no longer
      want it on your machine.
 It is recommended you use MIT-pthreads on FreeBSD 2.x, and native
 threads on Versions 3 and up. It is possible to run with native threads
 on some late 2.2.x versions, but you may encounter problems shutting
 down `mysqld'.
 Unfortunately, certain function calls on FreeBSD are not yet fully
 thread-safe.  Most notably, this includes the `gethostbyname()'
 function, which is used by MySQL to convert hostnames into IP
 addresses. Under certain circumstances, the `mysqld' process will
 suddenly cause 100% CPU load and will be unresponsive. If you encounter
 this problem, try to start MySQL using the `--skip-name-resolve' option.
 Alternatively, you can link MySQL on FreeBSD 4.x against the
 LinuxThreads library, which avoids a few of the problems that the
 native FreeBSD thread implementation has. For a very good comparison of
 LinuxThreads versus native threads, see Jeremy Zawodny's article
 `FreeBSD or Linux for your MySQL Server?' at
 A known problem when using LinuxThreads on FreeBSD is that the
 `wait_timeout' value is not honored (probably a signal handling problem
 in FreeBSD/LinuxThreads).  This is supposed to be fixed in FreeBSD 5.0.
 The symptom is that persistent connections can hang for a very long
 time without getting closed down.
 The MySQL build process requires GNU make (`gmake') to work.  If GNU
 `make' is not available, you must install it first before compiling
 The recommended way to compile and install MySQL on FreeBSD with `gcc'
 (2.95.2 and up) is:
      CC=gcc CFLAGS="-O2 -fno-strength-reduce" \
          CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions \
          -felide-constructors -fno-strength-reduce" \
          ./configure --prefix=/usr/local/mysql --enable-assembler
      gmake install
      cd /usr/local/mysql
      bin/mysql_install_db --user=mysql
      bin/mysqld_safe &
 If you notice that `configure' will use MIT-pthreads, you should read
 the MIT-pthreads notes.   MIT-pthreads.
 If you get an error from `make install' that it can't find
 `/usr/include/pthreads', `configure' didn't detect that you need
 MIT-pthreads. To fix this problem, remove `config.cache', then re-run
 `configure' with the `--with-mit-threads' option.
 Be sure that your name resolver setup is correct.  Otherwise, you may
 experience resolver delays or failures when connecting to `mysqld'.
 Also make sure that the `localhost' entry in the `/etc/hosts' file is
 correct.  The file should start with a line similar to this:       localhost localhost.your.domain
 FreeBSD is known to have a very low default file handle limit.  
 Not enough file handles.  Start the server by using the
 `--open-files-limit' option for `mysqld_safe', or raise the limits for
 the `mysqld' user in `/etc/login.conf' and rebuild it with `cap_mkdb
 /etc/login.conf'.  Also be sure that you set the appropriate class for
 this user in the password file if you are not using the default (use
 `chpass mysqld-user-name').   `mysqld_safe' mysqld_safe.
 If you have a lot of memory, you should consider rebuilding the kernel
 to allow MySQL to use more than 512MB of RAM.  Take a look at `option
 MAXDSIZ' in the LINT config file for more information.
 If you get problems with the current date in MySQL, setting the `TZ'
 variable will probably help.   Environment variables.
Info Catalog ( BSD Notes ( BSD Notes ( NetBSD
automatically generated byinfo2html