Notas FreeBSD


FreeBSD 4.x ou mais novo é recomendado para executação do MariaDB 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:

É 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 MariaDB 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 MariaDB usando a opção --skip-name-resolve.

Alternativamente, você pode ligar o MariaDB 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 MariaDB Server?' de Jeremy Zawodny em http://jeremy.zawodny.com/blog/archives/000697.html

Os problemas conhecidos usando LinuxThreads na FreeBSD são:

O Makefile do MariaDB 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 MariaDB 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. Leia "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. Leia Seçã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). Leia "mysqld-safe, o wrapper do mysqld".

Se você tiver muita memória você deve considerar em reconstruir o Kernel para permitir o MariaDB 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á. Leia Apêndice F, Variáveis de Ambientes do MariaDB.

Para obter um sistema seguro e estável você deve usar somente kernels FreeBSD que estejam marcados com -STABLE.

Retornar