Como corrigir problemas de conexão com o banco de dados
Tendo problemas para se conectar ao seu banco de dados durante a instalação? Este guia abrange problemas comuns de conexão com o banco de dados e fornece soluções passo a passo para corrigi-los.
Problema A: Falha na Validação
Na Etapa 1 do instalador, após preencher as credenciais do banco de dados na seção “Conexão do Banco de Dados”, ao clicar em “Validar”, você recebe um status de falha.
Solução 1: Lista de Verificação de Validação
Certifique-se de que as credenciais e permissões do banco de dados estejam configuradas corretamente:
- Verifique se o banco de dados e o usuário do banco de dados foram criados.
- Verifique se a senha corresponde ao usuário do banco de dados que está sendo usado.
- Certifique-se de que o usuário do banco de dados esteja atribuído ao banco de dados com as permissões corretas.
- Altere temporariamente a senha do usuário do banco de dados para ‘test123’ para validar a entrada de caracteres.
- Entre em contato com seu provedor de hospedagem para obter os parâmetros exatos necessários.
Solução 2: Validação do Nome do Host
O nome do host padrão ‘localhost’ funciona na maioria dos casos, mas pode variar dependendo do provedor de hospedagem. Confirme as configurações exatas com seu host. Algumas variações comuns incluem:
mysql.seunome.commysql.empresadehospedagem.commysql.empresadehospedagem.com:1400
Se você vir um erro como “Não é possível conectar ao servidor MySQL local via socket ‘/var/lib/mysql/mysql.sock’ (2)”, é provável que seja devido a um nome de host incorreto.
Correção Rápida:
Entre em contato com seu provedor de hospedagem para confirmar as credenciais corretas para conexões de banco de dados. Consulte estes recursos de suporte:
- GoDaddy
- HostMonster
- Bluehost
- HostGator
- DreamHost
- Pesquise no Google:
"[Seu host] configuração do banco de dados"
Solução 3: Conflitos de Modo SQL
Se você encontrar uma mensagem de “Erro ao ler variáveis do banco de dados”, a instância do seu MySQL pode ter o modo SQL “ANSI_QUOTES” ativado. Como o MySQL trata as aspas duplas como identificadores em vez de strings neste modo, isso pode causar problemas. Para resolver isso, remova o modo SQL ANSI_QUOTES.
Mensagens de Erro Comuns:
Coluna desconhecida ‘wp_table’ em ‘where clause’
Problema B: Acesso Negado
Se você receber um erro como Acesso negado para o usuário 'myuser'@'localhost' (usando senha: YES) ao testar a conexão com o banco de dados, siga estas soluções.
Mensagens de Erro Comuns:
Erro: 'Acesso negado; você precisa de (pelo menos um dos) privilégios PROCESS ...'O usuário do banco de dados para este site WordPress NÃO tem permissões suficientes para gravar stored procedures ...
Solução 1: Atribuindo Privilégios Completos
Certifique-se de que o usuário do banco de dados esteja atribuído ao banco de dados com privilégios completos:
- A maneira mais fácil de confirmar as permissões é entrar em contato com seu provedor de hospedagem.
- Siga o Guia do Codex do WordPress para criar um Banco de Dados e Usuário.
- Para uma demonstração do cPanel, consulte este artigo.
- Para MySQL 8+: Execute o seguinte comando para conceder todos os privilégios necessários:
GRANT SHOW_ROUTINE ON *.* TO <USER>@<LOCATION>;
Solução 2: Criando um Novo Usuário de Banco de Dados
Se a atribuição de privilégios completos não funcionar, crie um novo usuário de banco de dados, conceda permissões completas e atribua-o ao banco de dados. Isso pode resolver problemas de cache armazenados no banco de dados.
Solução 3: Movendo Bancos de Dados Entre Servidores
Ao migrar um site entre servidores MySQL, diferentes versões do MySQL podem não suportar as mesmas diretivas, levando a um erro como:
mysqldump: Erro: 'Acesso negado; você precisa de (pelo menos um dos) privilégios PROCESS ...'
Soluções alternativas:
- Modo de Construção em PHP: Use PHP para evitar conflitos de diretivas MySQL.
- Modificar Script SQL: Remova diretivas não suportadas do arquivo SQL antes de executar o instalador.
Problema C: Timeouts do Banco de Dados
Se ocorrerem timeouts de conexão SQL ou erros de memória durante a instalação do banco de dados na Etapa 2 no modo Avançado ou após iniciar a instalação no modo Básico, siga estas soluções.
Solução 1: Habilitar Chunking de Banco de Dados
Este processo multithread divide a instalação do banco de dados em consultas menores.
- Execute o instalador e ative o modo Avançado clicando no botão “Avançado“
- Na Etapa 1, em Opções » Aba Banco de Dados » Processamento, habilite o “Modo de Chunking”.
- Continue com a instalação.
Solução 2: Ignorar Extração do Banco de Dados
Em vez de criar novas tabelas no banco de dados, importe o banco de dados manualmente.
Etapas:
- Extraia
database.sqldo arquivo. - Use o phpMyAdmin para remover as tabelas existentes e importar o arquivo SQL.
- No instalador, selecione "Ignorar Extração do Banco de Dados" em Opções Avançadas.
Solução 3: Problemas Específicos do Duplicator Lite
O Duplicator Lite (v1.4.7.2 ou anterior) suporta apenas importação de banco de dados com um único thread, o que pode causar problemas em servidores compartilhados com tráfego intenso.
Soluções alternativas:
- Execute o instalador durante os horários de menor movimento.
- Altere o Modo de Compilação nas configurações do Duplicator para "PHP".
- Entre em contato com seu provedor de hospedagem para aumentar os limites de tempo limite do servidor.
- Atualize para o Duplicator Pro para usar a divisão de arquivos SQL.
Mensagens de Erro Comuns:
Servidor MySQL foi desconectado, sem memória ou Erro 500
Solução de Problemas
Se os problemas de conexão persistirem, use código PHP para isolar o problema. Crie um arquivo chamado db-test.php no mesmo diretório do instalador e insira o seguinte código (certifique-se de adicionar suas credenciais reais conforme sugerido nos comentários do código):
Se o script falhar, compartilhe-o com seu provedor de hospedagem para depuração adicional.
Este script também está disponível no diretório de ferramentas do Duplicator Pro em /plugins/duplicator-pro/tools/db-test.php.
Seguindo estas soluções, você pode resolver problemas de conexão com o banco de dados e garantir um processo de instalação tranquilo.