Documentation Home

5.6.3.2 线程池安装

本节介绍如何安装 MySQL Enterprise Thread Pool。有关安装插件的一般信息,请参阅 第 5.6.1 节,“安装和卸载插件”

为了被服务器使用,插件库文件必须位于MySQL插件目录(由plugin_dir系统变量命名的目录)中。plugin_dir如有必要,通过在服务器启动时 设置值来配置插件目录位置 。

插件库文件的基本名称是 thread_pool. 文件名后缀因平台而异(例如,.so对于 Unix 和类 Unix 系统,.dll对于 Windows)。

从 MySQL 8.0.14 开始安装线程池

在 MySQL 8.0.14 及更高版本中,线程池监控表是与线程池插件一起加载和卸载的 Performance Schema 表。表格的 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        |
+-----------------------+---------------+

要验证 Performance Schema 监控表是否可用,请检查该 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.

如果插件无法初始化,请检查服务器错误日志以获取诊断消息。