このセクションでは、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 以上では、スレッドプールのモニタリングテーブルは、スレッドプールプラグインとともにロードおよびアンロードされる「パフォーマンススキーマ」テーブルです。 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 より前では、スレッドプールモニタリングテーブルはスレッドプールプラグインとは別のプラグインであり、個別にインストールできます。
スレッドプール機能を有効にするには、--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
に設定します。
プラグインの初期化に失敗した場合は、サーバーエラーログで診断メッセージを確認してください。