XOOPS Brasil

 

Apêndice A. Problemas e Erros Comuns

Índice

A.1. Como Determinar o Que Está Causando Problemas
A.2. Erros Comuns Usando o MySQL
A.2.1. Erro: Access Denied
A.2.2. Erro: MySQL server has gone away
A.2.3. Erro: Can't connect to [local] MySQL server
A.2.4. Erro: Client does not support authentication protocol
A.2.5. Erro: Host '...' is blocked
A.2.6. Erro: Too many connections
A.2.7. Erro: Some non-transactional changed tables couldn't be rolled back
A.2.8. Erro: Out of memory
A.2.9. Erro: Packet too large
A.2.10. Erros de Comunicação / Comunicação Abortada
A.2.11. Erro: The table is full
A.2.12. Erro: Can't create/write to file
A.2.13. Erro no Cliente: Commands out of sync
A.2.14. Erro: Ignoring user
A.2.15. Erro: Table 'xxx' doesn't exist
A.2.16. Erro: Can't initialize character set xxx
A.2.17. Arquivo Não Encontrado
A.3. Assuntos Relacionados a Instalação
A.3.1. Problemas de Ligação com a Biblioteca do Cliente MySQL
A.3.2. Como Executar o MySQL Como Um Utilizador Normal
A.3.3. Problemas com Permissões de Arquivos
A.4. Assuntos Relacionados a Administração
A.4.1. O Que Fazer Se o MySQL Continua Falhando
A.4.2. Como Recuperar uma Senha de Root Esquecida
A.4.3. Como o MySQL Trata de Discos Sem Espaço
A.4.4. Onde o MySQL Armazena Arquivos Temporários
A.4.5. Como Proteger ou AlterarHow to Protect or Change the MySQL Socket File /tmp/mysql.sock
A.4.6. Problemas Com Fuso Horário
A.5. Assuntos Relacionados a Consultas
A.5.1. Caso-Sensitivito em Pesquisas
A.5.2. Problemas Usando Colunas DATE
A.5.3. Problemas com Valores NULL
A.5.4. Problemas com alias
A.5.5. Deletando Linhas de Tabelas Relacionadas
A.5.6. Resolvendo Problemas Com Registros Não Encontrados
A.5.7. Problemas com Comparação de Ponto Flutuante
A.6. Assuntos Relacionados ao Otimizador
A.6.1. Camo evitar o varredura da tabela,,,
A.7. Assuntos Relacionados a Definições de Tabelas
A.7.1. Problemas com ALTER TABLE.
A.7.2. Como Alterar a Ordem das Colunas em Uma Tabela
A.7.3. Problemas com TEMPORARY TABLE

Este capítulo lista alguns problemas e mensagens de erro comuns que os utilizadores encontram. Você aprenderá como entender o problema e o que fazer para resolvê-lo. Você também encontrará soluções apropriadas para alguns prblemas comuns.

A.1. Como Determinar o Que Está Causando Problemas

Quando você encontrar problemas, a primeira coisa que você deve fazer é descobrir qual o programa / parte do equipamento está causando problema:

  • Se você tiver um dos seguintes sintomas, então é provavel que haja um problema de hardware (como memória, placa mãe, CPU ou disco rígido) ou kernel:

    • O teclado não funciona. Isto normalmente pode ser verificado pressionando CAPS LOCK. Se a luz do CAPS LOCK não alterar, você deverá trocar o seu teclado. (Antes de fazer isto, você deve tentar reiniciar o seu computador e verificar todos os cabos do teclado.)

    • O ponteiro do mouse não move.

    • A máquina não responde ao ping de uma máquina remota.

    • Diferente, programas não relacionados não comportam corretamente.

    • Se o seu sistema reiniciar inesperadamente (um programa de nível do utilizador nunca deve finalizar o seu sistema).

    Neste caso você deve inciar verificando todos os seus cabos e executando alguma ferramenta de diagnóstico para verificar o seu hardware. Você também deve verificar se existem patches, atualizações ou service packs para o seu sistema operacional que poderiam resolver o seu problema. Verifique também que todas as suas bibliotecas (como glibc) estão atualizadas.

    Sempre é bom usar uma máquina com memória ECC para descobrir problemas de memória antecipadamente.

  • Se o seu teclado está travado, você deve estar apto a consertá-lo logando em sua máquina a partir de outra máquina e executando kbd_mode -a nela.

  • Por favor, examine o seu arquivo de log do sistema (/var/log/messages ou similar) procurando pela razão de seus problemas. Se você acha que o problema está no MySQL então você deve examinar o arquivo de log do MySQL. Veja mais informações sobre isto na Seção 4.10.4, “O Log Binário”.

  • Se você acha que você não tem problema de hardware, você deve tentar encontrar qual o programa que está causando problemas.

    Tente usar top, ps, taskmanager, ou algum programa parecido, para verificar qual programa está utilizando toda a CPU oui travando a máquina.

  • Verifique com top, df, ou um programa similar se você excedeu a quantidade de memória, espaço em disco, arquivos abertos ou algum outro recurso crítico.

  • Se o problema é algum processo em execução, você sempre pode tentar matá-lo. Se ele não quiser morrer, provavelmente há um bug em seu sistema operacional.

Se depois de você examinar todas as outras possibilidades e você tiver concluído que é o cliente MySQL ou o servidor MySQL que está causando problemas, é hora de fazer um relatório de erro para a nossa lista de emails ou nossa equipe de suporte. No relatório de erro, tente dar uma descrição bem detalhada de como o sistema se comporta e o que você acha que está acontecendo. Você também deve dizer porque você acha que é o MySQL que esta causando problemas. Lev em consideração todas as situações neste capítulo. Indique qualquer problema exatamente como ele aparece quando você examina o seu sistema. Use o método 'cortar e colar' para qualquer saída e/ou mensagem de erro do programa e/ou arquivos de log!

Tente descrever em detalhes qual programa não está funcionando e todos os sintomas que você vê! Nós recebemos muitos relatórios de erros que apenas indicavam "o sistema não funciona". Isto não nos fornece qualquer informação sobre o que poderia ser o problema.

Se um programa falhar, sempre é útil saber:

  • O programa em questão realizou um operação de segmentation fault (core dumped)?

  • O program aesta consumindo toda a CPU? Verifique com top. Deixe o programa rodar por um tempo. Ele pode estar avaliando algo pesado.

  • Se é o servidor mysqld que está causando problemas, você pode fazer um mysqladmin -u root ping ou mysqladmin -u root processlist?

  • O que o progrma cliente diz (tente com mysql, por exemplo) quando você tenta conectar ao servidor MySQL? O cliente travou? Você obteve qualquer saída do programa?

Quando enviar um relatório de erro, você deve seguir o que é descrito neste manual. Veja mais informações sobre isto na Seção 1.7.1.2, “Fazendo perguntas ou relatando erros”.