PR 広告

Nextcloud データベースにいくつかのインデックス解決方法

Nextcloud データベースにいくつかのインデックスがありません Nextcloud
【PR】当サイトはアフィリエイト広告を利用しています。

【2022年12月】エックスサーバーで、Nextcloud の「データベースにいくつかのインデックスがありません。」で困ったときの解決方法。

[December 2022] On X server, Nextcloud says “Some indexes are missing in the database.” How to solve a problem with.

その他の解決方法については、下記の記事をご覧ください。

セキュリティ&セットアップ警告
Security & setup warnings

データベースにいくつかのインデックスがありません。
Some indexes are missing in the database.

データベースにいくつかのインデックスがありません。大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。
“occ db:add-missing-indices”を実行することによって、
インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。
インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。

テーブル “oc_filecache”のインデックス “fs_id_storage_size”が見つかりません。
テーブル “oc_filecache”のインデックス “fs_storage_path_prefix”が見つかりません。
テーブル “oc_properties”のインデックス “properties_pathonly_index”が見つかりません。
テーブル “oc_jobs”のインデックス “job_lastcheck_reserved”が見つかりません。
テーブル “oc_direct_edit”のインデックス “direct_edit_timestamp”が見つかりません。
テーブル “oc_preferences”のインデックス “preferences_app_key”が見つかりません。

Some indexes are missing in the database. Because adding indexes to large tables may take some time, they have not been added automatically. By executing “occ db: add-missing-indices”, missing indexes can be added manually while the instance is running. Once the indexes have been added, queries to these tables are usually faster.

Missing index “fs_id_storage_size” in the “oc_filecache” table.
Missing index “fs_storage_path_prefix” in the “oc_filecache” table.
Missing index “properties_pathonly_index” in the “oc_properties” table.
Missing index “job_lastcheck_reserved” in the “oc_jobs” table.
Missing index “direct_edit_timestamp” in the “oc_direct_edit” table.
Missing index “preferences_app_key” in the “oc_preferences” table.

https:// (あなたのドメイン名) / (nextcloud をインストールしたフォルダ) /index.php/settings/admin/overview
https:// (your domain name) / (the folder where you installed nextcloud) /index.php/settings/admin/overview

どうしても直したいひとへ 自己責任でお願いします。

エックスサーバー
サーバーパネル
データベース
> phpmyadmin(MariaDB10.5)
で、
インデックス登録をする必要があります。

ほとんどは、左側のサイドバーで、
インデックス
New
で追加できます。

Nextcloud エックスサーバー phpMyadmin ログイン
テーブル “oc_filecache”

インデックスのすぐ下にある New をクリックします。
下記のような画面が表示されたら、インデックス名を入力します。

インデックスを追加する
テーブル “oc_jobs”のインデックスに、 “job_lastcheck_reserved” を追加しています。

ただし、
oc_preferences
preferences_app_key
については、

phpMyadmin #1062 Duplicate entry インデックスが重複というエラーが出ます。

phpMyadmin #1062 Duplicate entry インデックスが重複
#1062 Duplicate entry インデックスが重複

メイン画面の
– インデックス
3 つのカラムにインデックスを作成する [実行]
でのみ追加できます。

phpMyadmin #1062 Duplicate entry 左側の New ではなく、メイン画面でインデックスを追加する
「インデックスに 3 個のカラムを追加する」を押してから入力する。Missing index “preferences_app_key” in the “oc_preferences” table.

あきらめることをお薦めします。

データベースを触ることは危険であること。(自己責任
セキュリティスキャンの評価は上がらない。
データへのアクセス(取り出し)に影響がない。
ことから、
あきらめることをお薦めします。

Nextcloud を新しくインストールする方が早いと考えます。

※ 所要時間を節約できることからもお薦めです。
※ Nextcloud のアップデートは、1つずつバージョンを上げるしかないので長時間掛かります。

※ 新規で、バージョン Nextcloud Hub 3 (25.0.1) をインストールした場合、
「データベースにいくつかのインデックスがありません。」の警告は出ません。

専門知識があり、自己責任の意味がわかる人限定

エックスサーバーの設定

ON[国内からのアクセスのみ許可]を選びます。

SSH設定画面が表示されますので、「ON[国内からのアクセスのみ許可]」または「ON[すべてのアクセスを許可]」を選択し、「設定する」ボタンをクリックします。

「ON[国内からのアクセスのみ許可]」または「ON[すべてのアクセスを許可]」を選択し、「設定する」ボタンをクリック

本機能では、下記の2つの項目においてSSHのONを設定することが可能です。

ON[国内からのアクセスのみ許可]SSH接続が有効化され、国内からのアクセスのみ許可されます。
ON[すべてのアクセスを許可] ※非推奨SSH接続が有効化され、すべてのアクセスが許可されます。
SSH設定 https://www.xserver.ne.jp/manual/man_server_ssh.php

SSHクライアントソフト

下記からダウンロードします。

SSHアカウント情報は下記のヘルプをご覧ください。

SSHアカウント情報
サーバー(ホスト名)サーバーID.xsrv.jp(お客様の初期ドメイン)※ホスト名(sv***.xserver.jp)でも設定が可能です。例:xsample.xsrv.jp
ユーザー名サーバーID
例:xsample
認証方式公開鍵認証
※パスワード認証は利用できません。
接続ポート10022

SSH設定 https://www.xserver.ne.jp/manual/man_server_ssh.php

WinSCPの設定方法

パスワード入力欄は空白にします。
「設定」を左クリックして、高度なサイトの設定 を表示します。
左サイドのメニュー「SSH」の「認証」を選びます。

下記の「慶應義塾湘南藤沢情報センター」様のページに、素晴らしい解説があります。

データベースのインデックスを更新するコマンド

サブフォルダにインストールしている場合

/usr/bin/php8.1 --define apc.enable_cli=1 /home/ユーザーID/exsample.com/public_html/インストールしたサブフォルダ名/occ db:add-missing-indices

専用のサブドメインにインストールしている場合

/usr/bin/php8.1 --define apc.enable_cli=1 /home/ユーザーID/exsample.com/public_html/専用のサブドメイン.exsample.com/occ db:add-missing-indices

または

/usr/bin/php8.1 --define apc.enable_cli=1 /home/ユーザーID/exsample.com/public_html/専用のサブドメイン/occ db:add-missing-indices

サブドメインを保存するフォルダを設定する方法は、2つあります。
あなたが、どちらの方法を選んだか確認してください。

タイトルとURLをコピーしました