Na maioria dos sistemas você também pode iniciar o
        mysqld a partir do gdb
        para obter mais informações se o mysqld
        falhar.
      
        Com uma versão antiga do gdb no Linux você
        deve usar run --one-thread se você quiser
        estar apto a depurar a thread mysqld. Neste
        caso você só pode ter uma thread ativa por vez. Nós
        recomendamos que você atualize para gdb 5.1 ASAP já que a
        depuração da thread funciona muito melhor com esta versão!
      
        Ao executar o mysqld com gdb, você deve
        disabilitar a pilha de rastreamento com
        --skip-stack-trace para estar apto a conseguir
        segmentation fault com gdb.
      
        É muito difícil depurar o MySQL no gdb se
        você fizer muitas conexões o tempo todo já que
        gdb não libera a memória para threads
        antigas. Você pode evitar este problema iniciando
        mysqld com -O thread_cache_size=
        'max_connections +1'. Na maioria dos casos só o uso
        de -O thread_cache_size=5' já ajuda muito!
      
        Se você quiser um tiver um core dump no Linux quando o
        mysqld morre com um sinal SIGSEGV, você pode
        iniciar o mysqld com a opção
        --core-file. Este arquivo core pode ser usado
        para fazer um rastreamento que pode lhe ajudar a descobrir
        porque o mysqld morreu:
      
shell> gdb mysqld core
gdb>   backtrace full
gdb>   exit
See Secção A.4.1, “O Que Fazer Se o MySQL Continua Falhando”.
        Se você estiver usando gdb 4.17.x ou acima no Linux, você deve
        instalar um arquivo .gdb, com a seguinte
        informação, em seu diretório atual:
      
set print sevenbit off handle SIGUSR1 nostop noprint handle SIGUSR2 nostop noprint handle SIGWAITING nostop noprint handle SIGLWP nostop noprint handle SIGPIPE nostop handle SIGALRM nostop handle SIGHUP nostop handle SIGTERM nostop noprint
Se você tiver problemas depurando threads com gdb, você deve fazer o download do gdb 5.x e experimentá-lo. A nova versão do gdb tem um tratamento de threads bem melhorado.
Aqui está um exemplo de como depurar o mysqld:
shell> gdb /usr/local/libexec/mysqld
gdb> run
...
backtrace full # Faça isto quando o mysqld falhar
        Inclua a saída acima e uma email gerado com
        mysqlbug e envie-o para lista de email do
        MySQL. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”.
      
        Se o mysqld travar você pode usar algumas
        ferramentas de sistema como strace ou
        /usr/proc/bin/pstack para exeminar onde
        mysqld travou.
      
strace /tmp/log libexec/mysqld
        Se você estiver usando a interface Perl DBI,
        você pode habilitar a informação de depuação usando o
        método trace ou definindo a variável de
        ambiente DBI_TRACE. See
        Secção 12.5.2, “A interface DBI”.
      
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.

