Usando Arquivos de Log para Encontrar a Causa dos Erros no mysqld


Note que antes de iniciarmos o mysqld com --log você deve verificar todas as suas tabelas com myisamchk. Leia Administração do Bancos de Dados MySQL.

Se o mysqld morre ou trava, você deve iniciar o mysqld com --log. Quando o mysqld morre de novo, você pode examinar o fim do arquivo de log para a consulta que matou o mysqld.

Se você estiver usando --log sem um nome de arquivo, o log é armazenado no diretório do banco de dados como 'nomemaquina'.log. Na maioria dos casos é a última consulta no arquivo de log que matou mysqld, mas se possível você deve verificar isto reiniciando o mysqld e executando a consulta encontrada por meio da ferramenta de linha de comando MariaDB. Se isto funcionar, você também deve testar todas as consultas complicadas que não completaram.

Você também pode tentar o comando EXPLAIN em todas as instruções SELECT que levam muito tempo para assegurar que o mysqld está usando índices apropriados. See "Sintaxe de EXPLAIN (Obter informações sobre uma SELECT)".

Você pode encontrar as consultas que levam muito twempo para executar iniciando o mysqld com --log-slow-queries. Leia "O Log para Consultas Lentas".

Se você encontrar o texto mysqld restarted no arquivo de registro de erro (normalmente chamado hostname.err) você provavelmente encontrou uma consulta que provocou a falha no mysqld. Se isto acontecer você deve verificar todas as suas tabelas com myisamchk (see Administração do Bancos de Dados MySQL) e testar a consulta no arquivo de log do MariaDB para ver se ela não funcionou. Se você encontrar tal consulta, tente primeiro atualizar para uma versão mais nova do MariaDB. Se isto não ajudar e você não puder encontrar nada no arquivo de mensagem MariaDB, você deve relatar o erro para uma lista de email do MariaDB. As listas de email estão descritas em http://lists.mysql.com/, que também possui os links para as listas de arquivos online.

Se você iniciou o mysqld com myisam-recover, o MariaDB verificará automaticamente e tentará reparar as tabelas MyISAM se elas estiverem marcadas como 'não fechadas apropriadamente' ou 'com falha'. Se isto acontecer, o MariaDB irá escrever uma entrada 'Warning: Checking table ...' no arquivo nomemaquina.err, a qual é seguida por Warning: Repairing table se a tabela precisar ser reparada. Se você obter vários desses erros, sem que o mysqld finalize inesperadamente um pouco antes, então algo está errado e precisa ser investigado melhor. Leia "Opções de Linha de Comando do mysqld".

É claro que não é um bom sinal se o mysqld morreu inesperadamente, mas neste caso não se deve invwestigar as mensagens Checking table... e sim tentar descobrir por que o mysqld morreu.

Retornar