MySQL Server は、MySQL リファレンスマニュアル (セクション13.8.3「HELP ステートメント」 を参照) から情報を返す HELP
ステートメントをサポートしています。 この情報は、mysql
スキーマの複数のテーブルに格納されます (セクション5.3「mysql システムスキーマ」 を参照)。 HELP
ステートメントを正しく操作するには、これらのヘルプテーブルを初期化する必要があります。
Unix でバイナリまたはソース配布を使用した MySQL の新規インストールの場合、データディレクトリを初期化するとヘルプテーブルのコンテンツの初期化が行われます (セクション2.10.1「データディレクトリの初期化」 を参照)。 Linux の RPM 配布または Windows のバイナリ配布の場合、コンテンツの初期化は MySQL インストールプロセスの一部として実行されます。
バイナリ配布を使用した MySQL アップグレードの場合、help-table コンテンツは MySQL 8.0.16 の時点でサーバーによって自動的にアップグレードされます。 MySQL 8.0.16 より前は、コンテンツは自動的にアップグレードされませんが、手動でアップグレードできます。 share
または share/mysql
ディレクトリ内から fill_help_tables.sql
ファイルを見つけます。 場所をそのディレクトリに変更し、mysql クライアントを使用してファイルを次のように処理します。
mysql -u root -p mysql < fill_help_tables.sql
ここに示すコマンドは、mysql
スキーマのテーブルを変更する権限を持つ root
などのアカウントを使用してサーバーに接続することを前提としています。 必要に応じて接続パラメータを調整します。
MySQL 8.0.16 より前は、Git および MySQL 開発ソースツリーを使用している場合、ソースツリーには fill_help_tables.sql
の 「stub」 バージョンのみが含まれていました。 非スタブコピーを取得するには、ソースまたはバイナリ配布からコピーを使用します。
各 MySQL シリーズには独自のシリーズ固有のリファレンスマニュアルがあるため、ヘルプテーブルのコンテンツもシリーズ固有です。 ヘルプテーブルの内容は MySQL シリーズと一致する必要があるため、これはレプリケーションに影響します。 MySQL 8.0 ヘルプコンテンツを MySQL 8.0 レプリケーションサーバーにロードする場合、そのコンテンツを別の MySQL シリーズからレプリカサーバーにレプリケートし、そのコンテンツが適切でないと意味がありません。 このため、レプリケーションシナリオで個々のサーバーをアップグレードする場合は、前述の手順を使用して各サーバーヘルプテーブルをアップグレードする必要があります。 (手動によるヘルプコンテンツのアップグレードは、8.0.16 より前のバージョンのレプリケーションサーバーでのみ必要です。 前述の手順で説明したように、コンテンツアップグレードは MySQL 8.0.16 の時点で自動的に行われます。)