Notas Linux para distribuições binárias
O MariaDB necessita pelo menos do Linux versão 2.0
Aviso: Percebemos que alguns usuários do MariaDB tiveram serios problemas de estabilidade com o MariaDB e o kernel 2.2.14 do Linux. Se você estiver usando este kernel você deve atualizá-lo para o 2.2.19 (ou posterior) ou para o kernel 2.4. Se você tiver um gabinete multi-cpu, então você deve considerar seriamente o uso do kernel 2.4 uma vez que ele lhe trará uma melhora significante na velocidade.
A versão binária é ligada com -static
, que significa que você normalmente não precisa se preocupar com qual versão das bibliotecas do sistema você tem. Você não precisa instalar LinuxThreads. Um programa ligado com a opção -static
é um pouco maior que um programa ligado dinamicamente e também um pouco mais rápido (3-5%). Um problema, entretanto, é que você não pode usar funções definidas pelo usuário (UDF) com um programa ligado estaticamente. Se você for escrever ou usar funções UDF (isto é algo para programadores C ou C++), você deve compilar o MySQL, usando ligações dinamicas.
Se você estiver usando um sistema baseado em libc
(em vez de um sistema glibc2
), você, provavelmente, terá alguns problemas com resolução de nomes de máquinas e getpwnam()
com a versão binária. (Isto é porque o glibc
infelizmente depende de algumas bibliotecas externas para resolver nomes de máquinas e getpwent()
, mesmo quando compilado com -static
). Neste caso, você provavelmente obterá a seguinte mensagem de erro quando executar mysql_install_db
:
Sorry, the host 'xxxx' could not be looked up
ou o seguinte erro quando você tentar executar mysqld
com a opção --user
:
getpwnam: No such file or directory
Você pode resolver este problema usando de um dos modos seguintes:
- Obtenha uma distribuição fonte do MariaDB (uma distribuição RPM ou
tar.gz
) e a instale. - Execute
mysql_install_db --force
; Isto não executará o testeresolveip
nomysql_install_db
. O lado ruim é que você não poderá usar nomes de máquinas nas tabelas de permissões; você deve usar números IP no lugar (exceto paralocalhost
). Se você estiver usando uma release antiga do MariaDB que não suporte--force
, você deve remover o testeresolveip
nomysql_install
com um editor. - Inicie
mysqld
comsu
no lugar de usar--user
.
As distribuições binárias Linux-Intel e RPM do MariaDB são configuradas para o máximo de desempenho possível. Nós sempre tentamos usar o compilador mais rápido e estável disponível.
Suporte MariaDB ao Perl exige Perl Versão 5.004_03 ou mais novo.
Em algumas versões 2.2 do kernel Linux,você pode obter o erro Resource temporarily unavailable
quando você faz várias novas conexões para um servidor mysqld
sobre TCP/IP.
O problema é que o Linux tem um atraso entre o momento em que você fecha um socket TCP/IP até que ele seja realmente liberado pelo sistema. Como só existe espaço para um número finito de slots TCP/IP, você irá obter o erro acima se você tentar fazer muitas novas conexões TCP/IP durante um pequeno tempo, como quando você executa o benchmark do MariaDB test-connect
sobre TCP/IP.
Nós enviamos emails sobre este problema várias vezes para diferentes listas de discussão Linux mas nunca conseguimos resolver este problema apropriadamente.
A única 'correção' conhecida , para este problema é usar conexões persistentes nos seus clientes ou usar sockets, se você estiver executando o servidor de banco de dados e clientes na mesma máquina. Nós experamos que o kernel Linux 2.4
corrija este problema no futuro.