Menu

Enable the MySQL 26.7 Thread Pool on Debian 13

Enable and verify MySQL 26.7 Community Thread Pool on Debian 13, then inspect its Performance Schema tables and tune only after testing.

Posted on By
On this page

Starting with MySQL 26.7.0, the Thread Pool plugin is available in MySQL Community Edition. It replaces the default one-thread-per-connection execution model with a server-side thread pool intended to reduce overhead for workloads with many concurrent client connections. It does not replace an application-side connection pool or raise the max_connections limit. See the official 26.7 release notes and Thread Pool documentation.

This guide is scoped to MySQL Community Server 26.7 on Debian 13 (Trixie). Oracle’s Debian 13 MySQL Innovation package index lists version 26.7.0-1debian13; the matching server package includes thread_pool.so. For another version or distribution, verify that the plugin library exists in the server’s plugin_dir before enabling it.

Oracle’s 26.7 release notes announce Community Edition availability, while its separate 26.7 Thread Pool FAQ still uses Enterprise-only wording. This guide is limited to the Debian 13 Community package above; verify the plugin library in other builds rather than assuming it is present.

Confirm the version and plugin directory

Check the server version and plugin directory:

SELECT VERSION();
SHOW GLOBAL VARIABLES LIKE 'plugin_dir';

On Oracle’s Debian 13 Community 26.7.0 package, the plugin library is installed under /usr/lib/mysql/plugin/. Confirm that thread_pool.so exists in the directory reported by your server before changing the configuration.

Enable the Thread Pool plugin

The Thread Pool plugin is not enabled by default. Add plugin-load-add under the [mysqld] section of a server option file read at startup:

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

Restart the MySQL service to load the plugin:

sudo systemctl restart mysql

Verify that the plugin is active and thread handling has changed:

SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME = 'thread_pool';

SHOW GLOBAL VARIABLES LIKE 'thread_handling';

The plugin should be ACTIVE; when the Thread Pool plugin loads successfully, thread_handling is loaded-dynamically. If it does not load, check the MySQL error log and confirm the library file and plugin_dir. See the official Thread Pool installation instructions.

Monitor before tuning

MySQL 26.7 exposes Thread Pool monitoring tables in Performance Schema. Check that they are available:

SHOW TABLES FROM performance_schema LIKE 'tp_%';

Use the tables and the server’s thread status to compare the same representative workload before and after enabling the plugin. The thread_pool_size setting is a startup option, so changing it requires another restart. Keep the default initially; MySQL’s Thread Pool tuning guide explains the settings and tradeoffs. A workload that benefits from this plugin should be demonstrated by measured throughput and latency, not assumed from a high max_connections value alone.

Thread Pool and application pools solve different problems

The Thread Pool manages server-side execution threads. An application connection pool reuses client connections, while max_connections still limits how many client sessions the server accepts. Size application pools for the actual workload and server capacity; use the MySQL capacity planning guide for connection-pool estimates.

For an LTS server, use MySQL 9.7 LTS installation on Debian 13. For other Debian 13 MySQL 26.7 setup steps, see the Innovation installation guide.