本节介绍如何安装 MySQL Enterprise Thread Pool。有关安装插件的一般信息,请参阅 第 5.6.1 节,“安装和卸载插件”。
为了被服务器使用,插件库文件必须位于MySQL插件目录(由plugin_dir
系统变量命名的目录)中。plugin_dir
如有必要,通过在服务器启动时
设置值来配置插件目录位置
。
插件库文件的基本名称是
thread_pool
. 文件名后缀因平台而异(例如,.so
对于 Unix 和类 Unix 系统,.dll
对于 Windows)。
在 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之前,线程池监控表是独立于线程池插件的插件,可以单独安装。
--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
.
如果插件无法初始化,请检查服务器错误日志以获取诊断消息。