MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

2.11.3 MySQL のアップグレードプロセスの内容

新しいバージョンの MySQL をインストールするには、既存のインストールの次の部分をアップグレードする必要がある場合があります:

アップグレードが必要になる可能性があるインストールの各部分には、次の 2 つの異なるバージョン番号が関連付けられています:

どちらの場合も、既存の MySQL インストールに適用可能な実際のバージョンがデータディクショナリに格納され、現在予想されているバージョンが新しいバージョンの MySQL にコンパイルされます。 実際のバージョンが現在予想されているバージョンより低い場合は、そのバージョンに関連付けられているインストールの一部を現在のバージョンにアップグレードする必要があります。 両方のバージョンでアップグレードが必要であることが示されている場合は、まずデータディクショナリのアップグレードを実行する必要があります。

前述の 2 つの異なるバージョンの反射として、アップグレードは次の 2 つのステップで実行されます:

データディクショナリのアップグレード (ステップ 1) は、起動時に必要に応じてこのタスクを実行するサーバーの役割です。ただし、起動を妨げるオプションを指定して起動した場合は除きます。 このオプションは、MySQL 8.0.16、MySQL 8.0.16 より前の --no-dd-upgrade の時点での --upgrade=NONE です。

データディクショナリは期限切れだが、サーバーがアップグレードできない場合、サーバーは実行されず、かわりにエラーで終了します。 例:

[ERROR] [MY-013381] [Server] Server shutting down because upgrade is
required, yet prohibited by the command line option '--upgrade=NONE'.
[ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
[ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

ステップ 2 の職責に対するいくつかの変更は、MySQL 8.0.16 で発生しました:

アップグレード先の MySQL のバージョンに応じて、インプレースアップグレード および 論理アップグレード の手順は、サーバーがすべてのアップグレードタスクを実行するか、サーバーの起動後に mysql_upgrade も起動する必要があるかを示します。

注記

サーバーはパフォーマンススキーマ、INFORMATION_SCHEMA、および MySQL 8.0.16 の時点でステップ 2 で説明されているオブジェクトをアップグレードするため、mysql_upgrade は不要であり、そのバージョンでは非推奨になっています。将来のバージョンの MySQL で削除される予定です。

ステップ 2 で発生する処理のほとんどは、MySQL 8.0.16 の前と時点で同じですが、特定の効果を得るために異なるコマンドオプションが必要になる場合があります。

MySQL 8.0.16 の時点で、--upgrade サーバーオプションは、サーバーが起動時に自動アップグレードを実行するかどうか、およびその方法を制御します:

FORCE は、必要ないとサーバーが判断した場合に、ステップ 2 のアクションを強制的に実行する場合に役立ちます。 FORCEAUTO の違いの 1 つは、FORCE では、ヘルプテーブルやタイムゾーンテーブルが欠落している場合は、サーバーによってシステムテーブル (ヘルプテーブルやタイムゾーンテーブルなど) が再作成されることです。

次のリストは、MySQL 8.0.16 より前のアップグレードコマンドと、MySQL 8.0.16 以上の同等のコマンドを示しています:

MySQL 8.0.16 より前は、特定の mysql_upgrade オプションが実行するアクションに影響します。 次のテーブルに、同様の効果を得るために MySQL 8.0.16 の時点で使用するサーバー --upgrade オプションの値を示します。 (指定された --upgrade オプション値には追加の効果がある場合があるため、これらは必ずしも完全に同等であるとはかぎりません。)

mysql_upgrade オプション サーバーオプション
--skip-sys-schema --upgrade=NONE または --upgrade=MINIMAL
--upgrade-system-tables --upgrade=NONE または --upgrade=MINIMAL
--force --upgrade=FORCE

アップグレードステップ 2 で発生する処理に関する追加のノート: