O MySQL necessita pelo menos do Linux versão 2.0
Aviso: Percebemos que alguns usuários do MySQL tiveram serios problemas de estabilidade com o MySQL 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 MySQL (uma
distribuição RPM ou tar.gz
) e a
instale.
Execute mysql_install_db --force
; Isto
não executará o teste resolveip
no
mysql_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
para localhost
). Se você estiver
usando uma release antiga do MySQL que não suporte
--force
, você deve remover o teste
resolveip
no
mysql_install
com um editor.
Inicie mysqld
com su
no lugar de usar --user
.
As distribuições binárias Linux-Intel e RPM do MySQL 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 MySQL 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 MySQL
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.
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.