Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Ștergeți avertismentul Nextcloud „Baza de date lipsește cu unii indexuri” rulând comanda occ db:add-missing-indicesca utilizator al serverului web din instalarea corectă a Nextcloud. Comanda adaugă indexuri definite de Nextcloud sau de aplicațiile instalate, dar care lipsesc din baza de date; în documentația actuală Nextcloud 35, --dry-runprevizualizează comanda SQL înainte de a rula.

Prezentare generală a administrării în stil Nextcloud, cu un avertisment chihlimbar care indică faptul că din baza de date lipsesc anumiți indexuri
Avertismentul apare în Prezentare generală a administrării atunci când Nextcloud detectează indexuri lipsă din schema bazei de date.

Ce înseamnă avertismentul

Un index al bazei de date este o structură de căutare care ajută baza de date să găsească rânduri fără a scana un întreg tabel. Nextcloud și aplicațiile sale adaugă uneori indexuri pentru a îmbunătăți interogările. O actualizare poate lăsa această muncă în seama unui administrator, deoarece crearea unui index pe un tabel mare poate dura timp și poate afecta performanța în timpul rulării. Avertismentul privind indexul lipsă este de obicei o solicitare de întreținere, nu o dovadă că fișierele sau înregistrările bazei de date sunt deteriorate.

Referința comenzilor curente pentru baza de date Nextcloud descrie db:add-missing-indicesadăugarea de indexuri care se află în schema așteptată, dar lipsesc din instalarea curentă. Manualul curent documentează, de asemenea, --dry-runprevizualizarea instrucțiunilor SQL. Indexurile exacți depind de versiunea Nextcloud și de aplicațiile instalate.

Pregătiți serverul

  • Confirmați ce instanță Nextcloud afișează avertismentul, mai ales dacă gestionați staging și producție sau mai multe containere.
  • Asigurați-vă că există o copie de rezervă recentă a bazei de date și că știți cum să o restaurați. Această comandă modifică structura bazei de date. Nu editați și nu ștergeți indexurile manual ca înlocuitor.
  • Planificați să rulați comanda atunci când încărcarea bazei de date este rezonabilă. Serverul poate rămâne online pentru această operațiune, conform instrucțiunilor de actualizare Nextcloud, dar indexarea unui tabel mare poate dura timp și poate afecta temporar viteza de răspuns.
  • Găsiți directorul de instalare Nextcloud, versiunea CLI PHP utilizată de serverul web și contul de sistem de operare al serverului web. Contul este adesea www-datape Debian sau Ubuntu, apachepe Fedora sau CentOS și httppe Arch Linux.

Ghidul OCC de la Nextcloud explică faptul că occaceasta este interfața de linie de comandă a serverului și trebuie să ruleze ca utilizator HTTP, astfel încât proprietatea și permisiunile fișierelor să rămână consistente. Nu utilizați www-dataorbește dacă instalarea dvs. folosește un cont diferit.

Previzualizați și adăugați indexurile lipsă

Pentru o instalare standard a unei arhive pe Debian sau Ubuntu, deschideți un shell pe serverul Nextcloud și accesați directorul care conține occfișierul. Acest exemplu folosește /var/www/nextcloud; calea dvs. poate diferi.

cd /var/www/nextcloud
sudo -E -u www-data php occ db:add-missing-indices --dry-run

Execuția simulată afișează codul SQL pe care l-ar executa fără a modifica baza de date. Citiți rezultatul și confirmați că este vorba de operațiunea de întreținere așteptată. Opțiunea --dry-runeste documentată în manualul curent Nextcloud 35; dacă o versiune mai veche o respinge, verificați ajutorul cu comenzi al versiunii respective, în loc să eliminați opțiunile la întâmplare.

Un terminal Linux care afișează comanda Nextcloud OCC missing-index cu opțiunea dry-run
Folosește opțiunea de simulare documentată pentru a inspecta codul SQL înainte de a face o modificare a bazei de date.

Când sunteți gata să aplicați modificarea, executați comanda fără --dry-run:

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

Nextcloud verifică tabelele relevante și raportează progresul. Lasă procesul să se termine; nu întrerupe procesul doar pentru că un tabel mare durează mai mult decât se așteaptă. Manualul de actualizare listează această comandă printre sarcinile de schemă mai lungi care pot rula în timp ce instanța rămâne online, deci în mod normal nu este nevoie să activați modul de întreținere pentru această reparație. Evitați întreținerea concomitentă a bazei de date în timp ce aceasta rulează.

Un terminal Linux care afișează comanda missing-index verificând tabelul filecache și terminând cu Done
Comanda verifică tabelele bazei de date și revine la shell când termină.

Dacă Nextcloud rulează în Docker

Execută occîn containerul aplicației Nextcloud, nu în containerul separat al bazei de date. Pentru un container denumit nextcloudcu contul obișnuit www-data, comanda este de obicei:

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

Înlocuiți nextcloudcu numele real al containerului aplicației dvs. Dacă imaginea sau implementarea dvs. utilizează un alt utilizator de container, un fișier binar PHP sau un wrapper de comenzi, urmați documentația acelei imagini și mențineți comanda rulând ca utilizator HTTP.

Verificați dacă avertismentul a dispărut

După finalizarea comenzii, reîmprospătați Setări administrare > Prezentare generală . Mesajul de index lipsă ar trebui să dispară odată ce verificarea Nextcloud recunoaște indexurile. De asemenea, puteți rula din nou comanda; aceasta ar trebui să se finalizeze fără a fi nevoie să adăugați din nou aceiași indexuri lipsă. Acest lucru confirmă că verificarea schemei a fost recuperată, deși nu măsoară performanța generală a bazei de date.

Prezentare generală a administrării în stil Nextcloud, cu avertismentul privind indexul lipsă care nu mai este afișat
Reîmprospătați Prezentarea generală a administrării după finalizarea comenzii și verificați dacă avertismentul bazei de date a dispărut.

Dacă avertismentul persistă

  1. Confirmă că ai executat comanda pe aceeași instalare Nextcloud și pe aceeași bază de date care a generat avertismentul. O greșeală frecventă este executarea acesteia într-un container de mentenanță, o instanță de testare sau un container de bază de date.
  2. Verificați dacă comanda a fost executată ca utilizatorul corect al serverului web și a utilizat aceeași versiune PHP ca serverul web. Nextcloud notează că o configurație CLI PHP diferită poate cauza occerori.
  3. Pe Nextcloud 35 și versiunile ulterioare, executați sudo -E -u www-data php occ db:schema:checkpentru a inspecta diferențele de schemă. Referința curentă identifică această verificare ca fiind adăugată în versiunea 35. În versiunile anterioare, utilizați diagnosticarea documentată pentru versiunea respectivă.
  4. Dacă indexul lipsă aparține unei aplicații terțe sau comanda raportează o eroare, actualizați aplicația dacă este disponibilă o actualizare, verificați jurnalul Nextcloud și rezultatul comenzii și solicitați administratorului aplicației sau asistenței Nextcloud numele exacte ale indexului și tabelului. Nu rulați CREATE INDEXinstrucțiuni scrise de mână decât dacă administratorul aplicației sau al bazei de date le furnizează pentru schema dvs. exactă.

Pentru un server de producție, păstrați copia de rezervă a bazei de date până când avertismentul dispare și aplicația funcționează normal. Ghidul de actualizare Nextcloud acoperă sarcina de mentenanță online și rularea opțională de probă.

Lasă un comentariu

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Rulați repararea OCC din Nextcloud în siguranță, previzualizați modificările bazei de date și verificați de ce avertismentul ar putea persista.

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Permiteți încărcări mai mari în browserul Nextcloud prin alinierea setărilor PHP, Nginx sau Apache, stocarea temporară și timeout - și verificați ce limită blochează fișierul.

Ștergeți avertismentul de memorie PHP al Nextcloud pe serverul web

Setați limita de memorie PHP utilizată efectiv de Nextcloud, reporniți serviciul corect și confirmați setarea de 512 MB în Prezentare generală a administratorului.

Conectați un bucket compatibil cu S3 la spațiul de stocare extern Nextcloud

Montați un bucket de stocare a obiectelor compatibil în Nextcloud folosind backend-ul său S3, cu endpoint-ul, acreditările, domeniul de acces și pașii de verificare corecți.

Mutați datele Nextcloud pe o unitate externă fără a afecta spațiul de stocare

Mutați datele Nextcloud pe o unitate externă fără a afecta spațiul de stocare

Mută ​​în siguranță un director de date Linux Nextcloud pe o unitate externă folosind o montare UUID persistentă, modul de întreținere, o copie verificată și linkul simbolic al căii originale.

Eroare în baza de date Nextcloud după o actualizare: Ce trebuie verificat mai întâi

Restaurați accesul la Nextcloud după o actualizare prin diagnosticarea erorilor SQL, verificarea conectivității bazei de date și finalizarea în siguranță a migrărilor întrerupte.

Resetarea unei parole de administrator Nextcloud pierdute cu OCC

Folosește comanda OCC din Nextcloud pentru a reseta o parolă de administrator din shell-ul serverului, cu îndrumări pentru nume de utilizator, permisiuni și furnizori de autentificare externi.

Adăugați antetul HSTS la endpoint-ul HTTPS care deservește Nextcloud

Ștergeți avertismentul HSTS al Nextcloud setând antetul la Apache, NGINX sau proxy-ul TLS, apoi verificați răspunsul public HTTPS în siguranță.

Depanarea instalărilor aplicației Nextcloud care raportează lipsa internetului

Depanarea instalărilor aplicației Nextcloud care raportează lipsa internetului

Urmăriți erorile de instalare din App Store până la problemele DNS, HTTPS, proxy, TLS sau de configurare chiar de pe serverul Nextcloud.

Controlează vârfurile de CPU din previzualizarea Nextcloud cu o coadă programată

Mută ​​miniaturile într-un program controlat în fundal, decupează dimensiunile de previzualizare neutilizate și verifică coada fără a suprasolicita serverul Nextcloud.