Error number: MY-013274; Symbol: ER_THREAD_POOL_PFS_TABLES_INIT_FAILED; SQLSTATE: HY000
Message: Failed to initialize the performance schema tables service.
以内
报错MY-013274:ER_THREAD_POOL_PFS_TABLES_INIT_FAILED,线程池PFS表初始化失败,SQLSTATE:HY000。
错误说明:
MY-013274:ER_THREAD_POOL_PFS_TABLES_INIT_FAILED错误提示线程池PFS表初始化失败,SQLSTATE:HY000。这是由于MySQL执行的一些语句未能正常初始化MySQL线程池所致,映射表初始化失败,未能获取合法的执行状态,因此影响MySQL的正常运行。
解决方法:
1. 关闭MySQL服务,登录MySQL后执行以下操作:
SET GLOBAL PFS_TRACING = '0’;
这样就可以恢复MySQL服务,但是其状态仍然为“READ ONLY”,无法进行任何修改设置。
2. MySQL 8+ 版本有防止PFS表初始化失败的阀值设置:
进入my.cnf配置文件,找到以下设置并启用:
performance-schema-max-worker-threads,设置为1或更高,即可隐式启用performance_schema/server_threads。
3. 将系统上的所有可用内存释放出来,或者重新启动机器。
4. 如果问题仍然存在,使用MySQL官方提供的工具mysqld_safe进行修复恢复:
mysqld_safe –skip-free-thread-pool –skip-thread-pool –init-file=restore.sql –init-command=”SET GLOBAL PFS_TRACING=0″
执行以上命令后,MySQL服务将恢复正常。