DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info.gz) FreeBSD

Info Catalog (mysql.info.gz) BSD Notes (mysql.info.gz) BSD Notes (mysql.info.gz) NetBSD
 
 2.12.4.1 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
 `http://www.freebsd.org/'.  Using these ports gives you the following
 benefits:
 
    * 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
 `http://jeremy.zawodny.com/blog/archives/000697.html'.
 
 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
 MySQL.
 
 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
      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:
 
      127.0.0.1       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 (mysql.info.gz) BSD Notes (mysql.info.gz) BSD Notes (mysql.info.gz) NetBSD
automatically generated byinfo2html