このページは機械翻訳したものです。
AdminAPI の進化に伴い、一部のリリースでは、既存のクラスタのメタデータをアップグレードして、新しいバージョンの MySQL Shell との互換性を確保する必要がある場合があります。 たとえば、バージョン 8.0.19 に InnoDB ReplicaSet を追加することは、メタデータスキーマがバージョン 2.0 にアップグレードされていることを意味します。 InnoDB ReplicaSet を使用するかどうかに関係なく、以前のバージョンの MySQL Shell を使用してデプロイされたクラスタで MySQL Shell 8.0.19 以降を使用するには、クラスタのメタデータをアップグレードする必要があります。
メタデータをアップグレードしないと、MySQL Shell 8.0.19 を使用して、以前のバージョンで作成されたクラスタの構成を変更できません。 たとえば、読取り操作は、
、Cluster
.status()
、Cluster
.describe()
などのクラスタに対してのみ実行できます。
Cluster
.options()
この dba.upgradeMetadata()
操作では、クラスタ MySQL Shell で現在接続されているメタデータスキーマのバージョンが、この MySQL Shell バージョンでサポートされているメタデータスキーマのバージョンと比較されます。 インストールされているメタデータのバージョンが低い場合は、アップグレードプロセスが開始されます。 その後、dba.upgradeMetadata()
操作によって、自動的に作成された MySQL Router ユーザーが適切な権限を持つようにアップグレードされます。 mysql_router_
で始まらない名前で手動で作成された MySQL Router ユーザーは、自動的にはアップグレードされません。 これは、クラスタをアップグレードする際の重要なステップであり、MySQL Router アプリケーションのみをアップグレードできます。 クラスタに登録されている MySQL Router インスタンスのうち、メタデータのアップグレードが必要なものに関する情報を取得するには、次のコマンドを発行します:
cluster.listRouters({'onlyUpgradeRequired':'true'})
{
"clusterName": "mycluster",
"routers": {
"example.com::": {
"hostname": "example.com",
"lastCheckIn": "2019-11-26 10:10:37",
"roPort": 6447,
"roXPort": 64470,
"rwPort": 6446,
"rwXPort": 64460,
"version": "8.0.18"
}
}
}
新しいメタデータを使用しているクラスタは、以前の MySQL Shell バージョンでは管理できません。たとえば、バージョン 8.0.19 にアップグレードすると、バージョン 8.0.18 以前を使用してクラスタを管理できなくなります。
クラスタメタデータをアップグレードするには、MySQL Shell グローバルセッションをクラスタに接続し、dba.upgradeMetadata()
操作を使用してクラスタメタデータを新しいメタデータにアップグレードします。 例:
mysql-js> \connect user@example.com:3306
mysql-js> dba.upgradeMetadata()
InnoDB Cluster Metadata Upgrade
The cluster you are connected to is using an outdated metadata schema version
1.0.1 and needs to be upgraded to 2.0.0.
Without doing this upgrade, no AdminAPI calls except read only operations will
be allowed.
The grants for the MySQL Router accounts that were created automatically when
bootstrapping need to be updated to match the new metadata version's
requirements.
Updating router accounts...
NOTE: 2 router accounts have been updated.
Upgrading metadata at 'example.com:3306' from version 1.0.1 to version 2.0.0.
Creating backup of the metadata schema...
Step 1 of 1: upgrading from 1.0.1 to 2.0.0...
Removing metadata backup...
Upgrade process successfully finished, metadata schema is now on version 2.0.0
権限のないクラスタ管理ユーザーに関連するエラーが発生した場合は、更新オプションを指定して
操作を使用し、ユーザーに正しい権限を付与します。 AdminAPI のユーザーの構成を参照してください。
Cluster
.setupAdminAccount()