Remediați avertismentul Nextcloud „Baza de date are indexuri lipsă”

Deschideți Prezentarea generală a administrării Nextcloud și vedeți: „Baza de date lipsește cu unii indecși”. Avertismentul poate apărea după o actualizare, deoarece Nextcloud poate adăuga indecși noi la tabelele existente în timp și nu îi creează întotdeauna automat pe o bază de date mare. Indecșii lipsă pot încetini unele interogări ale bazei de date. Repararea acceptată este occ db:add-missing-indicescomanda încorporată.

Înainte de a modifica schema, confirmați că executați comanda pentru instalarea corectă a Nextcloud, faceți o copie de rezervă a bazei de date și utilizați utilizatorul sistemului de operare al serverului web. Pe versiunile a căror comandă o acceptă, previzualizați comanda SQL propusă cu --dry-run. Apoi, executați repararea și verificați din nou Prezentarea generală a administrării.

Ce înseamnă avertismentul

Un index al bazei de date este o structură care ajută baza de date să găsească rânduri fără a scana un întreg tabel. Nextcloud și aplicațiile sale definesc indexuri pentru tabelele și câmpurile pe care le utilizează. Când o versiune mai nouă a aplicației Nextcloud introduce un index pe care o instalare existentă nu îl are încă, pagina de administrare poate raporta nepotrivirea. Este un avertisment de întreținere a schemei; în sine, nu înseamnă că baza de date este coruptă sau că lipsesc fișiere de utilizator.

Manualul de administrare al Nextcloud precizează că indexurile pot fi adăugate în timp, inclusiv pentru a îmbunătăți performanța, și îi îndrumă pe administratori să ruleze [ occ db:add-missing-indicesexecute]. Adăugarea unui index poate dura timp, în special pe un tabel mare, iar comportamentul de încărcare sau blocare a bazei de date poate varia în funcție de motorul bazei de date și de volumul de lucru. Planificați schimbarea într-o perioadă mai liniștită dacă instanța dvs. este ocupată.

Înainte de a executa reparația

  • Confirmați calea și versiunea de instalare. Executați comenzi din directorul care conține occscriptul instalării dorite sau furnizați calea completă.
  • Faceți o copie de rezervă a bazei de date. Folosiți procedura obișnuită de copiere de rezervă pentru MariaDB/MySQL, PostgreSQL sau SQLite. Verificați dacă copia de rezervă a fost finalizată și că știți cum să o restaurați.
  • Găsiți utilizatorul HTTP. Folosiți contul care rulează serverul web pentru Nextcloud. Exemple comune sunt www-datape Debian sau Ubuntu, apachepe Fedora sau CentOS, httppe Arch și wwwrunpe openSUSE. Implementarea dvs. poate diferi.
  • Verificați opțiunile comenzii. Manualul de administrare stabil al Nextcloud 35 este documentat --dry-run. Dacă versiunea instalată nu o recunoaște, consultați occ db:add-missing-indices --helprezultatul acelei versiuni și săriți peste previzualizare, în loc să presupuneți că opțiunea există.

Ghidul oficial de backup listează baza de date, configurația, directorul de date și alte componente de instalare care ar trebui păstrate pentru o copie de rezervă completă. Pentru această operațiune de schemă, efectuați cel puțin o copie de rezervă testată a bazei de date utilizând procedura corespunzătoare bazei dvs. de date.

Pasul 1: Deschideți o shell în instalarea Nextcloud

Pentru o instalare Linux tradițională, conectați-vă la server prin SSH și accesați directorul Nextcloud. O cale comună pentru Ubuntu este /var/www/nextcloud, dar utilizați calea de pe serverul dvs.

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

Confirmați că ieșirea de stare identifică instanța instalată așteptată. Dacă utilizați un fișier binar PHP diferit pentru serverul web față de cel implicit al shell-ului php, utilizați aceeași versiune PHP compatibilă pentru occ. Rularea occca utilizator HTTP ajută la păstrarea proprietății și permisiunilor așteptate pentru fișiere.

Pasul 2: Previzualizați modificările indexului

Dacă versiunea instalată este compatibilă, rulați mai întâi simularea:

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

Execuția simulată previzualizează instrucțiunile SQL fără a le aplica. Citiți rezultatul și confirmați că se referă la indexurile lipsă pe care intenționați să le reparați. Dacă rezultatul identifică un tabel sau un index pe care nu îl recunoașteți, înregistrați numele exact al acestuia și verificați dacă aplicația relevantă este instalată și actuală. Nu lipiți codul SQL previzualizat în consola bazei de date ca o comandă rapidă.

Pasul 3: Adăugați indexurile lipsă

Când previzualizarea este așteptată și copia de rezervă este gata, executați comanda de reparare documentată:

sudo -E -u www-data php occ db:add-missing-indices

Comanda verifică tabelele bazei de date și creează indexuri care sunt definite în schemă, dar lipsesc din instalarea curentă. Lăsați-o să se finalizeze. Pe o bază de date mare, acest lucru poate dura ceva timp. Evitați întreruperea în timp ce modifică schema. Documentația Nextcloud precizează că această comandă poate fi executată în timp ce instanța rămâne online; modul de întreținere nu este listat ca o condiție prealabilă pentru această reparație specifică. Urmați propriul proces de control al modificărilor dacă acesta necesită o fereastră de întreținere.

Docker și alte tipuri de instalare

Într-o implementare containerizată, executați occîn interiorul containerului aplicației Nextcloud, nu în containerul bazei de date. Numele containerelor și serviciilor variază, așadar verificați implementarea și înlocuiți-o cu numele corect. Pentru un container Docker numit nextcloud, modelul este:

docker exec --user www-data nextcloud php occ db:add-missing-indices

Pentru Docker Compose, modelul corespunzător este docker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. Unele implementări pachetizate utilizează o comandă dedicată sau un alt utilizator de container; utilizați instrucțiunile pentru pachetul respectiv. Nu copiați numele unui container din configurația altei persoane fără a-l verifica.

Dacă comanda eșuează sau avertismentul persistă

  • Permisiune refuzată: Verificați utilizatorul HTTP și calea de instalare. Nu rezolvați această problemă rulând comanda ca root, cu excepția cazului în care documentația implementării necesită în mod specific un wrapper privilegiat; procesul PHP ar trebui, în general, să ruleze ca utilizator al serverului web.
  • Eroare conexiune la baza de date sau PHP: Verificați jurnalul Nextcloud, starea serviciului bazei de date, versiunea PHP configurată și rezultatul comenzii. Rezolvați problema conexiunii sau a runtime-ului subiacent înainte de a rula din nou comanda schema.
  • Eroare cheie duplicată sau index unic: Opriți și păstrați textul complet al erorii. Aceasta poate indica rânduri conflictuale care împiedică crearea unui index unic. Identificați aplicația și tabelul afectate, confirmați versiunile aplicației și Nextcloud și consultați administratorul aplicației sau un administrator familiarizat cu baza de date respectivă. Nu ștergeți rânduri și nu eliminați indexuri fără un diagnostic și o copie de rezervă specifice datelor.
  • „Comandă negăsită” sau opțiune neacceptată: Confirmați că vă aflați în instalarea corectă a Nextcloud și bifați php occ listsau php occ help db:add-missing-indicesca utilizator HTTP. Este posibil ca versiunile mai vechi să nu expună toate opțiunile mai noi.
  • Avertismentul apare în continuare: Actualizare prezentare generală administrare după ce comanda se închide cu succes. Citiți numele exacte ale indexului și tabelului avertismentului. Este posibil să lipsească mai mult de un index, un index nou introdus dintr-o actualizare a aplicației, o operațiune eșuată a bazei de date sau o nepotrivire de schemă pe care această comandă nu a rezolvat-o.

Nu confundați indexurile lipsă cu coloanele sau cheile primare lipsă. Nextcloud documentează comenzi separate pentru acele modificări de schemă, cum ar fi db:add-missing-columnsși db:add-missing-primary-keys. Executați o reparare diferită numai atunci când avertismentul de administrator sau documentația specifică versiunii o solicită.

Verificați rezultatul

  1. Așteptați până la db:add-missing-indicesieșiri și raportează finalizarea, cum ar fiDone.
  2. Reîncărcați Prezentarea generală a administrării și confirmați că avertismentul specific privind indexul lipsă a dispărut.
  3. Dacă persistă, comparați numele exacte ale tabelului și indexului cu ieșirea comenzii, în loc să o rulați din nou orbește.
  4. Verificați jurnalul Nextcloud și starea bazei de date pentru erori noi, apoi confirmați că accesul normal la fișiere și aplicațiile care utilizează tabelele afectate funcționează în continuare.
  5. Păstrați copia de rezervă până când instanța a funcționat normal și politica dvs. de retenție permite eliminarea acesteia.

Pentru sintaxa curentă a comenzii, consultați referința comenzilor pentru baza de date și indexul Nextcloud . Pentru cerințele utilizatorului și PHP, consultați Utilizarea comenzii occ și ghidul de backup Nextcloud . Aceste pagini stabile identifică manualul curent ca Nextcloud Server 35 la verificarea din 6 octombrie 2026; căile, opțiunile și instrucțiunile de ambalare pot diferi în alte versiuni sau tipuri de implementare.

Lasă un comentariu

7 Cele mai bune instrumente WSUS pentru gestionarea actualizărilor și depanarea problemelor

7 Cele mai bune instrumente WSUS pentru gestionarea actualizărilor și depanarea problemelor

Comparați șapte instrumente care acceptă sau completează WSUS, de la consola nativă și diagnosticarea Microsoft până la publicarea de patch-uri de la terți și implementarea la distanță.

Cele mai bune instrumente de monitorizare a sistemului Windows: 6 alegeri pentru vizibilitatea serverului

Cele mai bune instrumente de monitorizare a sistemului Windows: 6 alegeri pentru vizibilitatea serverului

Comparați șase instrumente de monitorizare a sistemului Windows pentru starea serverului, vizibilitatea aplicațiilor și alertarea, cu note actuale despre implementare și licențiere.

7 instrumente Wake-on-LAN: Ce este încă disponibil din lista din 2021

7 instrumente Wake-on-LAN: Ce este încă disponibil din lista din 2021

Comparați șapte instrumente Wake-on-LAN după caracteristici și disponibilitate, inclusiv utilități gratuite, suite de administrare a rețelei și alegerile din 2021 care au fost retrase ulterior.

9 Cele mai bune instrumente de ping pentru testarea latenței și scanarea unei rețele

9 Cele mai bune instrumente de ping pentru testarea latenței și scanarea unei rețele

Comparați nouă instrumente ping pentru verificări rapide ale accesibilității, descoperirea subrețelelor, teste TCP și monitorizarea latenței, cu îndrumări despre care se potrivește sarcinii dvs. de rețea.

Cele mai bune servere TFTP pentru Windows, Linux și macOS

Cele mai bune servere TFTP pentru Windows, Linux și macOS

Comparați cele mai bune servere TFTP pentru Windows, Linux și macOS, inclusiv SolarWinds, Tftpd64, tftpd-hpa, atftpd, haneWIN și dnsmasq.

5 Cele mai bune alternative la Microsoft Access pentru baze de date desktop și web

5 Cele mai bune alternative la Microsoft Access pentru baze de date desktop și web

Comparați cinci alternative la Microsoft Access pentru lucrul cu baze de date desktop, SQLite, fără cod și bazate pe browser, cu punctele forte, limitele și cele mai potrivite cazuri de utilizare.

Instrumente de monitorizare open-source vs. closed-source comparative

Instrumente de monitorizare open-source vs. closed-source comparative

Comparați instrumentele de monitorizare open-source și closed-source în funcție de cost, asistență, personalizare, securitate și opțiuni actuale, inclusiv Zabbix, Nagios, PRTG și multe altele.

Ingress vs. Egress: Care este diferența în rețele?

Ingress vs. Egress: Care este diferența în rețele?

Înțelegeți cum descrie traficul de intrare și de ieșire traficul de intrare și de ieșire, de ce direcția depinde de limita rețelei și cum să monitorizați lățimea de bandă și să identificați transferurile de date riscante.

6 Cele mai bune servere Syslog gratuite de încercat pentru jurnalizare centralizată

6 Cele mai bune servere Syslog gratuite de încercat pentru jurnalizare centralizată

Compară șase servere și colectoare syslog gratuite pentru Windows și Linux, inclusiv instrumente GUI, opțiuni open-source, căutare, alerte și transport securizat.

Ce este IIS? Serverul web Windows de la Microsoft și alternativele sale

Ce este IIS? Serverul web Windows de la Microsoft și alternativele sale

Vedeți ce face Microsoft IIS, cum funcționează canalul său de solicitări și pool-urile de aplicații și când Apache, NGINX sau Caddy ar putea satisface mai bine nevoile serverului dvs. web.