清除 Nextcloud 缺少資料庫索引警告
安全地執行 Nextcloud 的 OCC 修復程序,預覽資料庫更改,並檢查警告仍然存在的原因。
若要清除 Nextcloud 的「資料庫缺少一些索引」警告,請occ db:add-missing-indices以 Web 伺服器使用者身分從正確的 Nextcloud 安裝目錄執行該命令。此指令會新增 Nextcloud 或已安裝的應用定義但資料庫中缺少的索引;根據目前的 Nextcloud 35 文檔,--dry-run該指令會在執行前預覽 SQL 語句。

資料庫索引是一種查找結構,它可以幫助資料庫在不掃描整個表的情況下查找行。 Nextcloud 及其應用程式有時會添加索引來提升查詢效能。升級後,這項工作可能會留給管理員,因為在大表上建立索引需要時間,並且在運行期間會影響效能。缺少索引的警告通常是維護提示,並不表示檔案或資料庫記錄已損壞。
Nextcloud 目前的資料庫指令參考文件描述db:add-missing-indices如何新增預期架構中存在但目前安裝中缺少的索引。目前手冊也--dry-run提供了 SQL 語句預覽的文件。具體的索引取決於您的 Nextcloud 版本和已安裝的應用程式。
www-data位於 Debian 或 Ubuntu、apacheFedora 或 CentOS 以及httpArch Linux 上。Nextcloud 的OCC 指南解釋說,occ它是伺服器的命令列介面,必須以 HTTP 使用者身分執行,以確保檔案所有權和權限的一致性。www-data如果您的安裝使用了不同的帳戶,請勿盲目使用。
對於 Debian 或 Ubuntu 上的標準歸檔安裝,請在 Nextcloud 伺服器上開啟 shell 並切換到包含該occ檔案的目錄。本範例使用/var/www/nextcloud;您的路徑可能有所不同。
cd /var/www/nextcloud
sudo -E -u www-data php occ db:add-missing-indices --dry-run
試運行會列印出在不更改資料庫的情況下將要執行的 SQL 語句。請閱讀輸出並確認這是預期的維護作業。該--dry-run選項已在目前的 Nextcloud 35 手冊中記錄;如果舊版本不支援此選項,請檢查該版本的命令協助,而不是隨意刪除選項。

準備好應用更改後,運行命令時無需添加冒號--dry-run:
sudo -E -u www-data php occ db:add-missing-indices
Nextcloud 會檢查相關表格並報告進度。請讓它完成;不要因為處理大表的時間超出預期就中斷該過程。升級手冊將此命令列為可以在實例保持在線狀態下運行的耗時較長的架構任務之一,因此通常情況下,您無需為此修復啟用維護模式。請避免在修復過程中同時進行其他資料庫維護操作。

請在 Nextcloud 應用程式容器中運行,而不是在單獨的資料庫容器中運行。對於以常用帳戶occ命名的容器,通常的命令是:nextcloudwww-data
docker exec --user www-data -it nextcloud php occ db:add-missing-indices
替換nextcloud為您的應用程式容器的實際名稱。如果您的鏡像或部署使用了不同的容器使用者、PHP 二進位檔案或命令包裝器,請遵循該鏡像的文檔,並確保命令以 HTTP 使用者身分執行。
命令執行完畢後,刷新“管理設定”>“概覽”。 Nextcloud 的檢查識別到索引後,「缺少索引」訊息應該會消失。您也可以重新運行該命令;這次應該無需再次添加相同的缺失索引即可完成。這確認了架構檢查已完成,但並不能衡量資料庫的整體效能。

occ錯誤。sudo -E -u www-data php occ db:schema:check以檢查架構差異。目前參考文件指出此檢查是在版本 35 中新增的。在更早的版本中,請使用該版本文件中提供的診斷方法。CREATE INDEX除非應用程式或資料庫維護者提供了適用於您資料庫架構的相應語句,否則請勿執行手動編寫的語句。對於生產伺服器,請保留資料庫備份,直到警告消除且應用程式正常運作為止。 Nextcloud 的升級指南涵蓋了線上維護任務和可選的預運行測試。
安全地執行 Nextcloud 的 OCC 修復程序,預覽資料庫更改,並檢查警告仍然存在的原因。
透過調整 PHP、Nginx 或 Apache、暫存和逾時設置,讓 Nextcloud 瀏覽器上傳更大的文件,並驗證是哪個限制阻止了文件上傳。
設定 Nextcloud 實際使用的 PHP 記憶體限制,重新啟動對應的服務,並在管理概覽中確認 512 MB 設定。
使用 Nextcloud 的 S3 後端,透過正確的端點、憑證、存取範圍和驗證步驟,掛載相容的物件儲存桶。
使用持久 UUID 掛載、維護模式、已驗證的副本和原始路徑符號鏈接,安全地將 Linux Nextcloud 資料目錄移至外部驅動器。
透過診斷 SQL 錯誤、檢查資料庫連線並安全地完成中斷的遷移,在更新後恢復 Nextcloud 存取。
使用 Nextcloud 的 OCC 命令從伺服器 shell 重設管理員密碼,並提供有關使用者名稱、權限和外部登入提供者的指導。
透過在 Apache、NGINX 或 TLS 代理程式上設定標頭來清除 Nextcloud 的 HSTS 警告,然後安全地驗證公共 HTTPS 回應。
追蹤 App Store 安裝失敗是否由 DNS、HTTPS、代理、TLS 或 Nextcloud 伺服器本身的設定問題所引起。
將縮圖製作移至受控的後台計劃,修剪未使用的預覽尺寸,並在不使 Nextcloud 伺服器過載的情況下驗證佇列。