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:
- Um MariaDB 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 MariaDB 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 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:
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 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
.