DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) freebsd

Info Catalog (mysql.info) bsd-notes (mysql.info) bsd-notes (mysql.info) 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 FreeBSD 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 suddenly
 causes 100% CPU load and is 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'.
 
 Known problem when using LinuxThreads on FreeBSD is:
 
    * The connection times (`wait_timeout', `interactive_timeout' and
      `net_read_timeout') values are not honored. The symptom is that
      persistent connections can hang for a very long time without
      getting closed down and that a 'kill' for a thread will not take
      affect until the thread does it a new command
 
      This is probably a signal handling problem in the thread library
      where the signal doesn't break a pending read.  This is supposed
      to be fixed in FreeBSD 5.0
 
 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' uses MIT-pthreads, you should read the
 MIT-pthreads notes. See  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', and 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.  See
  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'). See  mysqld-safe.
 
 FreeBSD limits the size of a process to 512MB, even if you have much
 more RAM available on the system. So you may get an error such as this:
 
      Out of memory (Needed 16391 bytes)
 
 In current versions of FreeBSD (at least 4.x and greater), you may
 increase this limit by adding the following entries to the
 `/boot/loader.conf' file and rebooting the machine (these are not
 settings that can be changed at run time with the `sysctl' command):
 
      kern.maxdsiz="1073741824" # 1GB
      kern.dfldsiz="1073741824" # 1GB
      kern.maxssiz="134217728" # 128MB
 
 For older versions of FreeBSD, you must recompile your kernel to change
 the maximum data segment size for a process. In this case, you should
 look at the `MAXDSIZ' option in the `LINT' config file for more
 information.
 
 If you get problems with the current date in MySQL, setting the `TZ'
 variable should help. See  environment-variables.
 
Info Catalog (mysql.info) bsd-notes (mysql.info) bsd-notes (mysql.info) netbsd
automatically generated byinfo2html