Se você tiver um problema específico, você sempre pode tentar
depurar o MySQL. Para fazer isto você deve configurar o MySQL
com a opção --with-debug
ou
--with-debug=full
. Você pode verificar se o
MySQL foi compilado com depuração executando: mysqld
--help
. Se o parâmetro --debug
estiver listado entre as opções então você têm a
depuração habilitada. mysqladmin ver
também lista a versão do mysqld
como
mysql ... --debug
neste caso.
se você estiver usando gcc ou egcs, a configuração recomendada é:
CC=gcc CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors \ -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql \ --with-debug --with-extra-charsets=complex
Isto evitará problemas com a biblioteca
libstdc++
e com exceções C++ (muitos
compiladores têm problemas com exceções C++ no código da
thread) e compila uma versão MySQL com suporte para todos os
conjuntos caracter.
Se você suspeita de um erro despejo de memória, você pode
configurar o o MySQL com --with-debug=full
, que
irá instalar verificar de alocação de memória
(SAFEMALLOC
). No entanto, a execução com
SAFEMALLOC
é um pouco lenta, assim se você
tiver problemas de desempenho você deve iniciar o
mysqld
com a opção
--skip-safemalloc
. Isto disabilitará a
verificação de despejo de momória para cada chamada a
malloc()
e free()
.
Se o mysqld
parar de falhar quando você
compilar com --with-debug
, você provavelmente
encontrou um erro de compilação ou erro de tempo dentro do
MySQL. Neste caso você pode tentar adicionar
-g
às variáveis CFLAGS
e
CXXFLAGS
acima e não usar
--with-debug
. Se agora o
mysqld
morre, você pode pelo menos
executá-lo com gdb
ou usar o
gdb
no arquivo core para descobrir que
aconteceu.
Quando você configura o MySQL para depuração você habilita
automaticamente diversas funções de vericação de segurança
extra que monitora a saúde do mysqld
. Se
eles encontrarem algo ``inesperado'', uma entrada será encrita
no stderr
, que mysqld_safe
direciona para o log de erros! Isto também significa que se
você estiver tendo alguns problemas inexperados com o MySQL e
estiver usando uma distribuição fonte, a primeira coisa que
você deve fazer é configurar o MySQL para depuração! (A
segunda coisa é enviar uma mensagem para a lista de email do
MySQL e pedir ajuda. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”. Por
favor, use o script mysqlbug
para todos os
relatos de bug e questões referentes a versão do MySQL que
você está usando!
Na distribuição do MySQL para Windows,
mysqld.exe
é, por padrão, compilado com
suporte a arquivos trace.
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.