Para ejecutar MySQL se recomienda FreeBSD 4.x o posterior,
          porque el paquete de subprocesos está mucho más integrado.
          Para lograr un sistema seguro y estable, se deberían emplear
          solamente kernels de FreeBSD marcados con
          -RELEASE.
        
          La forma más fácil (y más empleada) de instalar MySQL es
          utilizar los ports (herramientas para crear, actualizar, y
          quitar paquetes de aplicaciones) de
          mysql-server y
          mysql-client disponibles en
          http://www.freebsd.org/. Utilizar estos ports
          conlleva los siguiente benficios:
        
Un servidor MySQL funcional, con todas las optimizaciones conocidas para la versión de FreeBSD donde se instala.
Configuración y compilación automáticas.
              Scripts de inicio instalados en
              /usr/local/etc/rc.d.
            
              Es posible emplear pkg_info -L para ver
              los ficheros que hay instalados.
            
              Es posible emplear pkg_delete para
              quitar MySQL del ordenador.
            
Se recomienda utilizar MIT-pthreads en FreeBSD 2.x, y los subprocesos (threads) nativos en la Versión 3 en adelante. En algunas versiones 2.2.x es posible utilizar subprocesos nativos, pero pueden aparecer problemas al finalizar mysqld.
          Desafortunadamente, ciertas llamadas a funciones en FreeBSD no
          son todavía totalmente aptas para subprocesos. Sobre todo,
          esto incluye a la función gethostbyname(),
          la cual es utilizada por MySQL para convertir nombres de host
          en direcciones IP. Bajo ciertas circunstancias, el proceso
          mysqld de repente absorbe el 100% de la
          capacidad de la CPU y deja de responder. Si ocurre este
          problema, inténtese iniciar MySQL usando la opción
          --skip-name-resolve.
        
Alternativamente puede enlazarse MySQL en FreeBSD 4.x empleando la biblioteca LinuxThreads, la cual evita algunos problemas que tiene la implementación de subprocesos nativa de FreeBSD. Puede encontrarse una muy buena comparación entre LinuxThreads y la implementación nativa en el artículo de Jeremy Zawodny FreeBSD or Linux for your MySQL Server? (FreeBSD o Linux para su Servidor MySQL?) en http://jeremy.zawodny.com/blog/archives/000697.html.
Los problemas conocidos al utilizar LinuxThreads en FreeBSD son:
              Los valores de tiempos de conexión
              (wait_timeout,
              interactive_timeout y
              net_read_timeout) no se respetan. El
              síntoma es que las conexiones persistentes se congelan
              por un tiempo muy largo, sin cerrarse, y matar ('kill') el
              subproceso no tendrá efecto hasta que éste pase al
              siguiente comando.
            
Esto probablemente sea un indicio de un problema en el manejo de señales en la biblioteca de procesos, donde la señal no interrumpe una lectura pendiente. Se supone que esto se resolvió en FreeBSD 5.0
El proceso de compilación de MySQL necesita GNU make (gmake) para llevarse a cabo. Si no está disponible GNU make, habrá que instalarlo antes de compilar MySQL.
La forma recomendada de compilar e instalar MySQL en FreeBSD con gcc (2.95.2 y superior) es:
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 &
Si se tiene conocimiento de que configure utiliza MIT-pthreads, se debería leer las notas para MIT-pthreads. Consulte Sección 2.8.5, “Notas sobre MIT-pthreads”.
          Si se obtiene un error de make install
          donde anuncia que no se puede hallar el fichero
          /usr/include/pthreads, es porque
          configure no detectó que se necesitan
          MIT-pthreads. Para solucionar este problema, debe eliminarse
          config.cache, y luego ejecutar nuevamente
          configure con la opción
          --with-mit-threads.
        
          Se debe estar seguro de que la configuración de resolución
          de nombres es la correcta. De otras maneras, se pueden
          experimentar demoras o fallas al conectarse a
          mysqld. También hay que verificar que sea
          correcta la entrada para localhost en el
          fichero /etc/hosts. El fichero debería
          comenzar con una línea similar a esta:
        
127.0.0.1 localhost localhost.your.domain
          Se sabe que FreeBSD tiene en forma predeterminada un límite
          de manejadores de ficheros muy bajo. Consulte
          Sección A.2.17, “No se encontró el fichero”. Hay que iniciar el
          servidor utilizando la opción
          --open-files-limit para
          mysqld_safe, o elevar en el fichero
          /etc/login.conf el límite para el
          usuario mysqld y recompilarlo con
          cap_mkdb /etc/login.conf. También hay que
          asegurarse de establecer la clase apropiada de usuario en el
          fichero de contraseñas si no se está empleando el
          predeterminado (utilizar chpass
          mysqld-user-name). Consulte
          Sección 5.1.3, “El script de arranque del servidor mysqld_safe”.
        
          Si se dispone de mucha memoria,se podría considerar la
          recompilación del kernel para permitirle a MySQL utilizar
          más de 512Mb de RAM. Para más información, ver la
          opción MAXDSIZ en el fichero de
          configuración LINT.
        
          Si se tienen problemas con la fecha actual en MySQL, podría
          ser de ayuda establecer al valor de la variable
          TZ. Consulte
          Apéndice E, Variables de entorno.
        
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

