このセクションでは、クローンプラグインをインストールおよび構成する方法について説明します。 リモートクローニング操作の場合、クローンプラグインをドナーおよび受信者の MySQL サーバーインスタンスにインストールする必要があります。
プラグインのインストールまたはアンインストールに関する一般的な情報は、セクション5.6.1「プラグインのインストールおよびアンインストール」 を参照してください。
サーバーで使用できるようにするには、プラグインライブラリファイルを MySQL プラグインディレクトリ (plugin_dir
システム変数で指定されたディレクトリ) に配置する必要があります。 必要に応じて、サーバーの起動時に plugin_dir
の値を設定して、プラグインディレクトリの場所をサーバーに通知します。
プラグインライブラリファイルのベース名は mysql_clone.so
です。 ファイル名の接尾辞は、プラットフォームによって異なります (たとえば、.so
for Unix and Unix-like systems, .dll
for Windows)。
サーバーの起動時にプラグインをロードするには、--plugin-load-add
オプションを使用して、プラグインを含むライブラリファイルに名前を付けます。 このプラグインのロード方式では、サーバーを起動するたびにオプションを指定する必要があります。 たとえば、my.cnf
ファイルに次の行を入力し、必要に応じてプラットフォームの .so
接尾辞を調整します:
[mysqld]
plugin-load-add=mysql_clone.so
my.cnf
を変更したら、新しい設定を有効にするためにサーバーを再起動します。
以前の MySQL バージョンからのアップグレード中にサーバーを再起動する場合、--plugin-load-add
オプションを使用してクローンプラグインをロードすることはできません。 たとえば、バイナリまたはパッケージを MySQL 5.7 から MySQL 8.0 にアップグレードした後、plugin-load-add=mysql_clone.so
を使用してサーバーを再起動しようとすると、このエラーが発生: [ERROR][MY-013238] [サーバー]プラグイン'clone'のインストール中にエラーが発生しました: アップグレード中にインストールできません。 回避策は、plugin-load-add=mysql_clone.so
でサーバーを起動する前にサーバーをアップグレードすることです。
または、実行時にプラグインをロードするには、次のステートメントを使用して、必要に応じてプラットフォームの .so
接尾辞を調整します:
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
INSTALL PLUGIN
はプラグインをロードし、それを mysql.plugins
システムテーブルに登録して、--plugin-load-add
を必要とせずに後続の通常のサーバー起動ごとにプラグインをロードします。
プラグインのインストールを確認するには、INFORMATION_SCHEMA.PLUGINS
テーブルを調べるか、SHOW PLUGINS
ステートメントを使用します (セクション5.6.2「サーバープラグイン情報の取得」 を参照)。 例:
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME = 'clone';
+------------------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+------------------------+---------------+
| clone | ACTIVE |
+------------------------+---------------+
プラグインの初期化に失敗した場合は、サーバーエラーログでクローンまたはプラグイン関連の診断メッセージを確認します。
プラグインが以前に INSTALL PLUGIN
に登録されているか、--plugin-load-add
にロードされている場合は、サーバーの起動時に --clone
オプションを使用して、プラグインのアクティブ化状態を制御できます。 たとえば、起動時にプラグインをロードし、実行時にプラグインが削除されないようにするには、次のオプションを使用します:
[mysqld]
plugin-load-add=mysql_clone.so
clone=FORCE_PLUS_PERMANENT
クローンプラグインなしでサーバーが実行されないようにするには、FORCE
または FORCE_PLUS_PERMANENT
の値を指定して --clone
を使用し、プラグインが正常に初期化されない場合にサーバーの起動が強制的に失敗するようにします。
プラグインのアクティブ化状態の詳細は、プラグインのアクティブ化状態の制御 を参照してください。