MySQL 8.0 リファレンスマニュアル


5.6.3.2 スレッドプールのインストール

このセクションでは、MySQL Enterprise Thread Pool のインストール方法について説明します。 プラグインのインストールについての一般的な情報は、セクション5.6.1「プラグインのインストールおよびアンインストール」を参照してください。

サーバーで使用できるようにするには、プラグインライブラリファイルを MySQL プラグインディレクトリ (plugin_dir システム変数で指定されたディレクトリ) に配置する必要があります。 必要に応じて、サーバーの起動時に plugin_dir の値を設定してプラグインディレクトリの場所を構成します。

プラグインライブラリファイルのベース名は thread_pool です。 ファイル名の接尾辞は、プラットフォームごとに異なります (たとえば、.so for Unix and Unix-like systems, .dll for Windows)。

MySQL 8.0.14 でのスレッドプールのインストール

MySQL 8.0.14 以上では、スレッドプールのモニタリングテーブルは、スレッドプールプラグインとともにロードおよびアンロードされる「パフォーマンススキーマ」テーブルです。 INFORMATION_SCHEMA バージョンのテーブルは非推奨ですが、引き続き使用できます。これらは、MySQL 8.0.14 より前のスレッドプールのインストール の手順に従ってインストールされます。

スレッドプール機能を有効にするには、--plugin-load-add オプションを指定してサーバーを起動し、プラグインをロードします。 これを行うには、サーバー my.cnf ファイルに次の行を配置し、必要に応じてプラットフォームの .so 接尾辞を調整します:

[mysqld]
plugin-load-add=thread_pool.so

プラグインのインストールを確認するには、INFORMATION_SCHEMA.PLUGINS テーブルを調べるか、SHOW PLUGINS ステートメントを使用します (セクション5.6.2「サーバープラグイン情報の取得」 を参照)。 例:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'thread%';
+-----------------------+---------------+
| PLUGIN_NAME           | PLUGIN_STATUS |
+-----------------------+---------------+
| thread_pool           | ACTIVE        |
+-----------------------+---------------+

パフォーマンススキーマのモニタリングテーブルが使用可能であることを確認するには、INFORMATION_SCHEMA.TABLES テーブルを調べるか、SHOW TABLES ステートメントを使用します。 例:

mysql> SELECT TABLE_NAME
       FROM INFORMATION_SCHEMA.TABLES
       WHERE TABLE_SCHEMA = 'performance_schema'
       AND TABLE_NAME LIKE 'tp%';
+-----------------------+
| TABLE_NAME            |
+-----------------------+
| tp_thread_group_state |
| tp_thread_group_stats |
| tp_thread_state       |
+-----------------------+

サーバーはスレッドプールプラグインを正常にロードすると、thread_handling システム変数を loaded-dynamically に設定します。

プラグインの初期化に失敗した場合は、サーバーエラーログで診断メッセージを確認してください。

MySQL 8.0.14 より前のスレッドプールのインストール

MySQL 8.0.14 より前では、スレッドプールモニタリングテーブルはスレッドプールプラグインとは別のプラグインであり、個別にインストールできます。

スレッドプール機能を有効にするには、--plugin-load-add オプションを指定してサーバーを起動し、使用するプラグインをロードします。 たとえば、プラグインライブラリファイルのみを指定した場合、サーバーはそれに含まれるすべてのプラグイン (スレッドプールプラグインとすべての INFORMATION_SCHEMA テーブル) をロードします。 これを行うには、サーバー my.cnf ファイルに次の行を配置し、必要に応じてプラットフォームの .so 接尾辞を調整します:

[mysqld]
plugin-load-add=thread_pool.so

それは、個別にスレッドプールプラグインを指定して、それらをすべてロードするのと同等です。

[mysqld]
plugin-load-add=thread_pool=thread_pool.so
plugin-load-add=tp_thread_state=thread_pool.so
plugin-load-add=tp_thread_group_state=thread_pool.so
plugin-load-add=tp_thread_group_stats=thread_pool.so

必要な場合、ライブラリファイルから個々のプラグインをロードできます。 スレッドプールプラグインをロードするが、INFORMATION_SCHEMA テーブルはロードしない場合、次のようなオプションを使用します。

[mysqld]
plugin-load-add=thread_pool=thread_pool.so

スレッドプールプラグインと TP_THREAD_STATE INFORMATION_SCHEMA テーブルのみをロードするには、次のようなオプションを使用します:

[mysqld]
plugin-load-add=thread_pool=thread_pool.so
plugin-load-add=tp_thread_state=thread_pool.so

プラグインのインストールを確認するには、INFORMATION_SCHEMA.PLUGINS テーブルを調べるか、SHOW PLUGINS ステートメントを使用します (セクション5.6.2「サーバープラグイン情報の取得」 を参照)。 例:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'thread%' OR PLUGIN_NAME LIKE 'tp%';
+-----------------------+---------------+
| PLUGIN_NAME           | PLUGIN_STATUS |
+-----------------------+---------------+
| thread_pool           | ACTIVE        |
| TP_THREAD_STATE       | ACTIVE        |
| TP_THREAD_GROUP_STATE | ACTIVE        |
| TP_THREAD_GROUP_STATS | ACTIVE        |
+-----------------------+---------------+

サーバーはスレッドプールプラグインを正常にロードすると、thread_handling システム変数を loaded-dynamically に設定します。

プラグインの初期化に失敗した場合は、サーバーエラーログで診断メッセージを確認してください。


関連キーワード:  サーバー, thread, インストール, 変数, pool, テーブル, プール, plugin, SCHEMA, INFORMATION