:: DEVELOPER ZONE
FreeBSD 4.x ou mais novo é recomendado para executação do MySQL uma vez que o pacote thread é muito mais integrado.
A mais fácil e portanto a forma preferida para instalá-lo é usar as portas mysql-server e mysql-client disponíveis em http://www.freebsd.org.
Usando-as você obtem:
Um MySQL funcional, com todas as otimizações conhecidas para trabalhar na sua versão habilitada do FreeBSD.
Configuração e construção automática.
Scripts de inicialização instalados em /usr/local/etc/rc.d.
Habilidade para ver quais arquivos estão instalados com pkg_info -L. E para remover todos com pkg_delete se você não quiser mais o MySQL na máquina.
É recomendado que você utilize MIT-pthreads no FreeBSD 2.x e threads nativas
nas Versões 3 e superiores. É possível executar com threads nativas em algumas
versões antigas (2.2.x) mas você pode encontrar problemas ao finalizar o
mysqld.
Infelizmente algumas chamadas de funções no FreeBSD ainda não são totalmente
seguras com threads, principalmente a função gethostbyname(), que é usada
pelo MySQL para converter nomes de máquinas em endereços IPs. Sob certas
circunstâncias, o processo mysqld irá criar repentinamente um carga de
CPU de 100% e ficará sem resposta. Se você se deparar com isto, tente iniciar
o MySQL usando a opção --skip-name-resolve.
Alternativamente, você pode ligar o MySQL no FreeBSD 4.x com a biblioteca LinuxThreads, que evita uns poucos problemas que a implementação da thread nativa do FreeBSD tem. Para uma comparação muito boa do LinuxThreads vs. threads nativas dê uma olhada no artigo "FreeBSD or Linux for your MySQL Server?" de Jeremy Zawodny em http://jeremy.zawodny.com/blog/archives/000697.html
Os problemas conhecidos usando LinuxThreads na FreeBSD são:
wait_timeout não está funcionando (provavemente problema de manipulação do
signal em FreeBSD/LinuxThreads). Isto deveria ter sido corrigido no FreeBSD 5.0.
O sintome á que conexões persistentes podem se manter por um longo
tempo sem serem fechadas.
O Makefile do MySQL necessita o GNU make (gmake) para funcionar.
Se você deseja compilar o MySQL, antes você precisará instalar o GNU make.
Tenha certeza que sua configuração de resolução de nomes esteja correta. De outra
forma você vai ter atrasos na resolução ou falhas quando conectar ao mysqld.
Tenha certeza que a entrada localhost no arquivo /etc/hosts esteja
correta (de outra forma você irá ter problemas conectando ao banco de dados).
O arquivo /etc/hosts deve iniciar com a linha:
127.0.0.1 localhost localhost.seu.dominio
O modo recomendado de compilar e instalar o MySQL no FreeBSD com gcc (2.95.2 e acima) é:
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 ./scripts/mysql_install_db cd /usr/local/mysql ./bin/mysqld_safe &
Se você percber que o configure usará MIT-pthreads, você de ler as
notas sobre MIT-pthreads. See Secção 2.3.6, “Notas MIT-pthreads”.
Se o make install não puder encontrar /usr/include/pthreads,
é porque o configure não detectou que você precisava de
MIT-pthreads. Isto é corrigido executando estes comandos:
shell> rm config.cache shell> ./configure --with-mit-threads
O FreeBSD é também conhecido por ter um limite muito baixo para o manipulador
de arquivos. See Secção A.2.17, “Arquivo Não Encontrado”. Descomente a seção ulimit -n no
mysqld_safe ou aumente os limites para o usuário mysqld no /etc/login.conf
(e reconstrua-o com cap_mkdb /etc/login.conf). Também tenha certeza que você
configurou a classe apropriada para este usuário no arquivo de senhas (password)
se você não estiver usando o padrão (use: chpass nome_usuario_mysqld).
See Secção 4.8.2, “mysqld-safe, o wrapper do mysqld”.
Se você tiver muita memória você deve considerar em reconstruir
o Kernel para permitir o MySQL de usar mais de 512M de RAM.
Dê uma olhada na opção MAXDSIZ na arquivo de configuração
LINT para maiores informações.
Se você tiver problemas com a data atual no MySQL, configurar a variável
TZ provavelmente ajudará. See Apêndice F, Variáveis de Ambientes do MySQL.
Para obter um sistema seguro e estável você deve usar somente kernels FreeBSD
que estejam marcados com -STABLE.
© 1995-2005 MySQL AB. All rights reserved.
