Ostrzeżenie o braku indeksów bazy danych NextCloud
Wykonaj bezpieczną naprawę OCC w Nextcloud, przejrzyj zmiany w bazie danych i sprawdź, dlaczego ostrzeżenie może nadal się pojawiać.
Usuń ostrzeżenie Nextcloud „Brak niektórych indeksów w bazie danych”, uruchamiając program occ db:add-missing-indicesjako użytkownik serwera WWW z prawidłowej instalacji Nextcloud. Polecenie dodaje indeksy zdefiniowane przez Nextcloud lub zainstalowane aplikacje, których brakuje w bazie danych; w aktualnej dokumentacji Nextcloud 35 --dry-runprzed uruchomieniem wyświetla podgląd kodu SQL.

Indeks bazy danych to struktura wyszukiwania, która pomaga bazie danych znaleźć wiersze bez konieczności skanowania całej tabeli. Nextcloud i jego aplikacje czasami dodają indeksy w celu usprawnienia zapytań. Aktualizacja może pozostawić to zadanie administratorowi, ponieważ tworzenie indeksu dla dużej tabeli może być czasochłonne i wpływać na wydajność podczas działania. Ostrzeżenie o brakującym indeksie jest zazwyczaj monitem konserwacyjnym, a nie dowodem na uszkodzenie plików lub rekordów bazy danych.
Aktualny opis poleceń bazy danych Nextcloud opisuje db:add-missing-indicesdodawanie indeksów, które znajdują się w oczekiwanym schemacie, ale nie występują w bieżącej instalacji. Aktualny podręcznik zawiera również informacje --dry-rundotyczące podglądu instrukcji SQL. Dokładne indeksy zależą od wersji Nextcloud i zainstalowanych aplikacji.
www-datana Debianie lub Ubuntu, apacheFedorze lub CentOS oraz httpArch Linux.Przewodnik Nextcloud dotyczący OCC wyjaśnia, że occjest to interfejs wiersza poleceń serwera, który musi działać jako użytkownik HTTP, aby własność i uprawnienia plików pozostały spójne. Nie używaj go www-databezmyślnie, jeśli instalacja korzysta z innego konta.
W przypadku standardowej instalacji archiwum w systemie Debian lub Ubuntu otwórz powłokę na serwerze Nextcloud i przejdź do katalogu zawierającego occplik. W tym przykładzie użyto /var/www/nextcloud; ścieżka może być inna.
cd /var/www/nextcloud
sudo -E -u www-data php occ db:add-missing-indices --dry-run
Próbny przebieg drukuje kod SQL, który zostałby wykonany bez zmiany bazy danych. Odczytaj dane wyjściowe i potwierdź, że jest to oczekiwana operacja konserwacyjna. --dry-runOpcja ta jest udokumentowana w aktualnym podręczniku NextCloud 35; jeśli starsza wersja ją odrzuca, sprawdź pomoc dotyczącą poleceń tej wersji, zamiast losowo usuwać opcje.

Gdy będziesz gotowy do zastosowania zmiany, uruchom polecenie bez --dry-run:
sudo -E -u www-data php occ db:add-missing-indices
Nextcloud sprawdza odpowiednie tabele i raportuje postęp. Pozwól mu się zakończyć; nie przerywaj procesu tylko dlatego, że duża tabela zajmuje więcej czasu niż oczekiwano. Instrukcja aktualizacji wymienia to polecenie wśród dłuższych zadań schematu, które można wykonać, gdy instancja pozostaje online, więc zazwyczaj nie ma potrzeby włączania trybu konserwacji w celu przeprowadzenia tej naprawy. Unikaj jednoczesnej konserwacji bazy danych podczas jej działania.

Uruchom occw kontenerze aplikacji Nextcloud, a nie w oddzielnym kontenerze bazy danych. W przypadku kontenera o nazwie nextcloudzawierającej standardowe www-datakonto, polecenie wygląda zazwyczaj następująco:
docker exec --user www-data -it nextcloud php occ db:add-missing-indices
Zastąp nextcloudrzeczywistą nazwą kontenera aplikacji. Jeśli obraz lub wdrożenie używa innego użytkownika kontenera, pliku binarnego PHP lub wrappera poleceń, postępuj zgodnie z dokumentacją tego obrazu i uruchom polecenie jako użytkownik HTTP.
Po zakończeniu polecenia odśwież Ustawienia administracyjne > Przegląd . Komunikat o brakującym indeksie powinien zniknąć, gdy sprawdzenie NextCloud rozpozna indeksy. Możesz również ponownie uruchomić polecenie; powinno ono zakończyć się bez konieczności ponownego dodawania tych samych brakujących indeksów. To potwierdza, że sprawdzenie schematu zostało naprawione, chociaż nie mierzy ogólnej wydajności bazy danych.

occbłędy.sudo -E -u www-data php occ db:schema:checkw celu sprawdzenia różnic w schemacie. Aktualne odniesienie identyfikuje to sprawdzenie jako dodane w wersji 35. W przypadku starszych wersji należy użyć diagnostyki udokumentowanej dla tej wersji.CREATE INDEXpoleceń, chyba że administrator aplikacji lub bazy danych poda je dla konkretnego schematu.W przypadku serwera produkcyjnego należy zachować kopię zapasową bazy danych do momentu usunięcia ostrzeżenia i przywrócenia normalnego działania aplikacji. Wskazówki dotyczące aktualizacji Nextcloud obejmują zadanie konserwacji online oraz opcjonalny test.
Wykonaj bezpieczną naprawę OCC w Nextcloud, przejrzyj zmiany w bazie danych i sprawdź, dlaczego ostrzeżenie może nadal się pojawiać.
Zezwól na przesyłanie większych plików przez przeglądarkę Nextcloud, dostosowując ustawienia PHP, Nginx lub Apache, tymczasowego miejsca przechowywania i limitu czasu — i sprawdź, który limit blokuje plik.
Ustaw limit pamięci PHP, z którego faktycznie korzysta Nextcloud, uruchom ponownie odpowiednią usługę i potwierdź ustawienie 512 MB w przeglądzie administratora.
Zamontuj zgodny obiekt pamięci masowej w Nextcloud, korzystając z zaplecza S3, z odpowiednim punktem końcowym, poświadczeniami, zakresem dostępu i krokami weryfikacji.
Bezpiecznie przenieś katalog danych Linux Nextcloud na dysk zewnętrzny, korzystając z trwałego montowania UUID, trybu konserwacji, zweryfikowanej kopii i dowiązania symbolicznego do ścieżki oryginalnej.
Przywróć dostęp do Nextcloud po aktualizacji, diagnozując błędy SQL, sprawdzając łączność z bazą danych i bezpiecznie kończąc przerwane migracje.
Użyj polecenia OCC usługi Nextcloud, aby zresetować hasło administratora z poziomu powłoki serwera. Znajdziesz tam wskazówki dotyczące nazw użytkowników, uprawnień i zewnętrznych dostawców logowania.
Wyczyść ostrzeżenie HSTS usługi Nextcloud, ustawiając nagłówek na serwerze Apache, NGINX lub serwerze proxy TLS, a następnie bezpiecznie zweryfikuj publiczną odpowiedź HTTPS.
Śledź błędy instalacji App Store, aby wykryć problemy z DNS, HTTPS, serwerem proxy, TLS lub konfiguracją na samym serwerze Nextcloud.
Przenieś pracę nad miniaturami do kontrolowanego harmonogramu w tle, zmniejsz nieużywane rozmiary podglądu i zweryfikuj kolejkę bez przeciążania serwera Nextcloud.