MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0
This section describes how to install MySQL Enterprise Thread Pool. For general information about installing plugins, see Section 7.6.1, “Installing and Uninstalling Plugins”.
To be usable by the server, the plugin library file must be
located in the MySQL plugin directory (the directory named by
the plugin_dir system
variable). If necessary, configure the plugin directory location
by setting the value of
plugin_dir at server startup.
The plugin library file base name is
thread_pool. The file name suffix differs per
platform (for example, .so for Unix and
Unix-like systems, .dll for Windows).
In MySQL 8.0.14 and higher, the thread pool monitoring tables
are Performance Schema tables that are loaded and unloaded
along with the thread pool plugin. The
INFORMATION_SCHEMA versions of the tables
are deprecated but still available; they are installed per the
instructions in
Thread Pool Installation Prior to MySQL 8.0.14.
To enable thread pool capability, load the plugin by starting
the server with the
--plugin-load-add option. To do
this, put these lines in the server
my.cnf file, adjusting the
.so suffix for your platform as
necessary:
[mysqld] plugin-load-add=thread_pool.so
To verify plugin installation, examine the Information Schema
PLUGINS table or use the
SHOW PLUGINS statement (see
Section 7.6.2, “Obtaining Server Plugin Information”). For example:
mysql>SELECT PLUGIN_NAME, PLUGIN_STATUSFROM INFORMATION_SCHEMA.PLUGINSWHERE PLUGIN_NAME LIKE 'thread%';+-----------------------+---------------+ | PLUGIN_NAME | PLUGIN_STATUS | +-----------------------+---------------+ | thread_pool | ACTIVE | +-----------------------+---------------+
To verify that the Performance Schema monitoring tables are
available, examine the Information Schema
TABLES table or use the
SHOW TABLES statement. For
example:
mysql>SELECT TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE TABLE_SCHEMA = 'performance_schema'AND TABLE_NAME LIKE 'tp%';+-----------------------+ | TABLE_NAME | +-----------------------+ | tp_thread_group_state | | tp_thread_group_stats | | tp_thread_state | +-----------------------+
If the server loads the thread pool plugin successfully, it
sets the thread_handling system variable to
loaded-dynamically.
If the plugin fails to initialize, check the server error log for diagnostic messages.
Prior to MySQL 8.0.14, the thread pool monitoring tables are plugins separate from the thread pool plugin and can be installed separately.
To enable thread pool capability, load the plugins to be used
by starting the server with the
--plugin-load-add option. For
example, if you name only the plugin library file, the server
loads all plugins that it contains (that is, the thread pool
plugin and all the INFORMATION_SCHEMA
tables). To do this, put these lines in the server
my.cnf file, adjusting the
.so suffix for your platform as
necessary:
[mysqld] plugin-load-add=thread_pool.so
That is equivalent to loading all thread pool plugins by naming them individually:
[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
If desired, you can load individual plugins from the library
file. To load the thread pool plugin but not the
INFORMATION_SCHEMA tables, use an option
like this:
[mysqld] plugin-load-add=thread_pool=thread_pool.so
To load the thread pool plugin and only the
TP_THREAD_STATE
INFORMATION_SCHEMA table, use options like
this:
[mysqld] plugin-load-add=thread_pool=thread_pool.so plugin-load-add=tp_thread_state=thread_pool.so
To verify plugin installation, examine the Information Schema
PLUGINS table or use the
SHOW PLUGINS statement (see
Section 7.6.2, “Obtaining Server Plugin Information”). For example:
mysql>SELECT PLUGIN_NAME, PLUGIN_STATUSFROM INFORMATION_SCHEMA.PLUGINSWHERE 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 | +-----------------------+---------------+
If the server loads the thread pool plugin successfully, it
sets the thread_handling system variable to
loaded-dynamically.
If a plugin fails to initialize, check the server error log for diagnostic messages.