Erro no banco de dados do Nextcloud após uma atualização: o que verificar primeiro

Se o Nextcloud começar a exibir uma exceção de "Erro de Banco de Dados" após uma atualização, verifique o erro subjacente no banco de dados nextcloud.logantes de alterar qualquer tabela. Restaure a conectividade com o banco de dados primeiro; se a atualização foi interrompida no meio do processo, finalize-a com `sudo apt-get update` occ upgradee somente então utilize os comandos de reparo documentados quando os logs justificarem o seu uso.

Identifique a falha real

A mensagem do navegador é um sintoma, não um diagnóstico. O Nextcloud pode não conseguir acessar o MySQL/MariaDB ou o PostgreSQL, a conta do banco de dados pode não estar mais autenticando ou o código e o esquema do aplicativo podem estar em estágios de atualização diferentes. A documentação oficial de solução de problemas do Nextcloud recomenda comparar o ID da solicitação com falha com o log do servidor.

  1. Registre a hora, o erro completo do navegador e qualquer ID de solicitação exibido. Não publique entradas de log privadas sem remover segredos e informações pessoais.
  2. Localize o diretório de dados configurado em config/config.php. O arquivo de log padrão é data/nextcloud.log, mas implantações personalizadas podem registrar em outro local.
  3. Em uma instalação Linux convencional, verifique as entradas recentes e, em seguida, os logs do serviço de banco de dados. Substitua o caminho real do Nextcloud:
sudo tail -n 100 /var/www/nextcloud/data/nextcloud.log
sudo journalctl -u mariadb --since '30 minutes ago'

O segundo comando aplica-se apenas a um host que executa o MariaDB sob o systemd; use os logs do serviço PostgreSQL ou do contêiner para outras implementações. Procure pelo SQLSTATEcódigo da exceção e pela primeira causa relacionada ao banco de dados, em vez de confiar na última linha do rastreamento de pilha.

Dica de registroPrimeira verificação útil
SQLSTATE[HY000] [2002]Acesso a processo de banco de dados, nome do host, porta, caminho do socket ou arquivo SQLite; o driver determina a interpretação.
SQLSTATE[HY000] [1040]Esgotamento de conexões MySQL/MariaDB e sessões ativas.
MySQL server has gone awayReinicializações do banco de dados, desconexões, pressão sobre os recursos e registros do servidor.
Autenticação ou acesso negadoConta de banco de dados, senha, acesso à rede e permissões.
Tabela, relação ou coluna ausenteVerificar se a atualização do banco de dados foi concluída e se o código instalado corresponde ao esquema.

Os três primeiros exemplos são abordados na documentação de erros comuns do Nextcloud. Uma mensagem de tabela ausente não significa permissão para criar a tabela manualmente: primeiro, identifique a falha de migração específica.

Proteja a instância antes de aplicar uma correção.

Antes de tentar migrações novamente, preserve um backup restaurável do banco de dados, juntamente com a configuração e os dados do Nextcloud. O procedimento oficial de backup também inclui aplicativos e temas personalizados, quando presentes. Confirme se o backup corresponde ao mesmo ponto no tempo; um backup apenas do código não pode recuperar um banco de dados parcialmente alterado.

  • Sempre que possível, pause a sincronização e as tarefas em segundo plano durante uma janela de recuperação, especialmente quando houver gravações ou atualizações de banco de dados envolvidas.
  • Mantenha um registro das versões antiga e nova do Nextcloud, do mecanismo/versão do banco de dados, da versão do PHP e do método de atualização.
  • Não exclua tabelas do banco de dados, não importe um esquema vazio, não execute comandos SQL aleatórios encontrados em fóruns e não restaure repetidamente apenas um componente de um backup multipartes.

Os comandos abaixo pressupõem a instalação comum do Debian/Ubuntu em /var/www/nextcloud, com www-datacomo conta do servidor web. Execute occcomo o usuário HTTP apropriado; instalações de pacotes, Docker, Snap, AIO e gerenciadas têm caminhos e métodos de execução diferentes. A referência do comando occ explica esses requisitos.

Restaure a conectividade do banco de dados antes da migração.

Verifique as configurações de conexão do serviço de banco de dados e do Nextcloud.

Se os registros mostrarem recusa de conexão, um socket inacessível ou um servidor indisponível, verifique primeiro se o serviço de banco de dados existente está em execução. Estas são verificações alternativas em nível de host, não uma lista para executar indiscriminadamente:

sudo systemctl status mariadb
sudo systemctl status postgresql

Para um servidor de banco de dados separado, verifique também o DNS, as regras de firewall, a porta selecionada e a acessibilidade da rede a partir do host ou contêiner do aplicativo Nextcloud. Inspecione os parâmetros de configuração config/config.php, como dbtype` hostname` dbhost, `port` e `socket` . A referência de parâmetros de configuração explica os nomes de host, as portas e a sintaxe de socket Unix. Nunca copie e cole esses dbnameparâmetros em tickets públicos ou comandos de shell que os exponham no histórico.dbuserdbpassword

Se a senha do banco de dados foi rotacionada ou as credenciais foram alteradas durante a implantação, corrija essa incompatibilidade usando seu fluxo de trabalho de gerenciamento de segredos. Se o servidor relatar muitas conexões, inspecione as conexões ativas e a causa do acúmulo de conexões antes de considerar alterações de capacidade. Um comando de indexação não resolverá uma interrupção de conexão.

Verifique a compatibilidade do tempo de execução após a atualização.

Uma atualização simultânea do PHP ou do servidor de banco de dados pode quebrar uma instalação que estava funcionando corretamente. Compare a versão do Nextcloud desejada com os requisitos de sistema e as notas de versão oficiais, em vez de presumir que todas as versões de driver e servidor instaladas atualmente ainda são suportadas. De acordo com a documentação do Nextcloud 35 consultada, o PHP 8.3–8.5 é suportado; as versões de banco de dados aceitas estão documentadas separadamente lá. Versões anteriores têm limitações diferentes.

Confirme também se o driver de banco de dados PHP exigido pelo mecanismo selecionado está habilitado tanto no ambiente PHP de linha de comando quanto no ambiente web. Não faça downgrade do servidor de banco de dados sem antes realizar uma migração de esquema: restaure apenas a partir de um plano de backup compatível e consistente.

Conclua ou repare a atualização interrompida do Nextcloud.

Assim que o banco de dados estiver acessível e um backup estiver seguro, acesse o diretório de instalação do Nextcloud e verifique seu estado:

cd /var/www/nextcloud
sudo -E -u www-data php occ status

Se o Nextcloud informar que uma atualização está pendente ou incompleta, siga o caminho de atualização compatível com as versões de origem e destino instaladas. Para uma instalação manual convencional, execute:

sudo -E -u www-data php occ upgrade

Não interrompa o comando nem execute processos de atualização simultâneos. Leia a saída: uma migração bem-sucedida é diferente de uma exceção de conexão com o banco de dados. A documentação de atualização manual do Nextcloud recomenda explicitamente occ upgradequando o processo baseado na web trava e maintenance:repairse o caminho de atualização precisa ser reparado:

sudo -E -u www-data php occ maintenance:repair

Utilize maintenance:repairapós analisar a falha; esta ferramenta não substitui a correção de credenciais incorretas, um banco de dados interrompido ou um ambiente de execução genuinamente incompatível. Se occ upgradea falha ocorrer em uma migração SQL específica, salve a exceção exata e busque uma correção específica para a versão ou restaure o backup completo correspondente, em vez de experimentar com DDL manual.

Lidar com avisos de esquema somente após uma atualização bem-sucedida.

Algumas migrações são intencionalmente adiadas. Em uma instância em funcionamento, a visão geral do administrador pode solicitar colunas, índices ou chaves primárias opcionais. Esses comandos fornecem uma pré-visualização simulada quando compatíveis com a versão em questão:

sudo -E -u www-data php occ db:add-missing-indices --dry-run
sudo -E -u www-data php occ db:add-missing-columns --dry-run
sudo -E -u www-data php occ db:add-missing-primary-keys --dry-run

Execute o comando correspondente sem `--no-set` --dry-runsomente se o problema registrado ou a verificação administrativa assim o exigir e a alteração proposta tiver sido revisada. Essas operações de manutenção podem levar tempo em bancos de dados grandes. O Nextcloud 35 documenta adicionalmente o `--no-set` db:schema:check; não assuma que ele exista em versões anteriores. Consulte a referência de comandos do banco de dados para obter informações sobre o comportamento específico da versão.

Verifique a recuperação e reabra o acesso.

  1. Repita o processo sudo -E -u www-data php occ status. Confirme se a versão instalada corresponde à versão pretendida, se não é necessária nenhuma atualização e se nenhuma nova exceção SQL fatal foi gerada.
  2. Se o modo de manutenção ainda estiver ativado e a atualização tiver sido concluída com sucesso , desative-o com sudo -E -u www-data php occ maintenance:mode --off.
  3. Abra a interface web, faça login, liste os arquivos e execute um pequeno upload e download autorizado. nextcloud.logDurante essas verificações, observe se há novas exceções no banco de dados.
  4. Retome as tarefas agendadas e a sincronização do cliente e, em seguida, verifique as configurações de administração para quaisquer avisos restantes do banco de dados.

Se a mesma exceção de banco de dados retornar, interrompa as migrações repetidas e colete o ID da solicitação, o texto do SQLSTATE, o log do servidor de banco de dados, o par de versões e a occsaída com falha. Essas evidências determinam se o problema restante é de conectividade, software incompatível ou uma migração específica com falha. Um login bem-sucedido por si só não comprova que todas as tarefas em segundo plano e consultas ao banco de dados funcionam.

Deixar um comentário

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Mova com segurança um diretório de dados do Nextcloud no Linux para uma unidade externa usando uma montagem UUID persistente, modo de manutenção, uma cópia verificada e o link simbólico do caminho original.

Erro no banco de dados do Nextcloud após uma atualização: o que verificar primeiro

Restaure o acesso ao Nextcloud após uma atualização, diagnosticando erros de SQL, verificando a conectividade do banco de dados e concluindo com segurança as migrações interrompidas.

Recupere a senha de administrador do Nextcloud perdida com o OCC

Utilize o comando OCC do Nextcloud para redefinir a senha de um administrador a partir do shell do servidor, com orientações sobre nomes de usuário, permissões e provedores de login externos.

Adicione o cabeçalho HSTS no endpoint HTTPS que serve o Nextcloud.

Elimine o aviso HSTS do Nextcloud configurando o cabeçalho no Apache, NGINX ou no seu proxy TLS e, em seguida, verifique a resposta HTTPS pública com segurança.

Solução de problemas de instalações do aplicativo Nextcloud que relatam falta de internet

Solução de problemas de instalações do aplicativo Nextcloud que relatam falta de internet

Rastreie falhas de instalação na App Store até problemas de DNS, HTTPS, proxy, TLS ou configuração no próprio servidor Nextcloud.

Controle os picos de uso da CPU no Nextcloud Preview com uma fila agendada.

Transfira a criação de miniaturas para uma programação em segundo plano controlada, reduza os tamanhos de pré-visualização não utilizados e verifique a fila sem sobrecarregar seu servidor Nextcloud.

Obtenha a sincronização do Nextcloud Desktop e supere a fase de "Processando arquivos".

Identifique o arquivo, a regra de exclusão, o problema de conexão ou o estado do banco de dados do cliente que está impedindo a sincronização do Nextcloud e, em seguida, verifique se os uploads e downloads estão sendo realizados com segurança.

Elimine o aviso do cache OP do Nextcloud ajustando o limite correto.

Localize o limite do OPcache do PHP que está causando o aviso do Nextcloud, atualize a configuração correta do PHP na web, reinicie com segurança e verifique o resultado.

Conectando o Nextcloud ao CODE Docker: Configuração e vantagens e desvantagens

Conectando o Nextcloud ao CODE Docker: Configuração e vantagens e desvantagens

Compare o código integrado e o baseado em Docker e, em seguida, conecte o Collabora Online ao Nextcloud por meio de um proxy reverso HTTPS seguro.

Crie um cluster Nextcloud resiliente com Galera.

Planeje uma implementação confiável de alta disponibilidade do Nextcloud com armazenamento compartilhado, bloqueio Redis, roteamento MariaDB com reconhecimento de quorum e verificações práticas de failover.