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
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.