Error number: MY-013852; Symbol: ER_THREAD_POOL_PLUGIN_STARTED; SQLSTATE: HY000
Message: Thread pool plugin started successfully with parameters: %s
错误说明
MY-013852 对应 MySQL 错误码 ER_THREAD_POOL_PLUGIN_STARTED,属于危险错误。 此错误表明,用户试图同时设置不同的线程池插件,而不忽略或警告。这会导致 MySQL 线程池功能的意外行为,最终可能导致 MySQL 服务器完全崩溃。
常见案例
此错误通常发生在 MySQL 里开始线程池插件时发生,如下面的语句:
SET GLOBAL thread_pool_max_threads = 1000;
SET GLOBAL thread_pool_idle_timeout = 10;
此时,MySQL 将显示:
ERROR 1238 (HY000): Thread pool plugin ‘thread_pool_autosize’ has been used before another plugin ‘pool_priority’ was started
解决方法
此错误可以通过重新设置线程池插件来完全解决。请在重新配置线程池插件之前,先停止现有的线程池插件。
使用 SET GLOBAL thread_pool_algorithm=off 可以停止现有线程池插件。然后,您可以使用如下语句重新设置新的线程池插件:
SET GLOBAL thread_pool_algorithm = poolsizepolicy;
SET GLOBAL thread_pool_max_threads = 1000;
SET GLOBAL thread_pool_idle_timeout = 10;
然后,重新启动 MySQL 服务器,线程池插件应该可以正常使用了。