Error number: MY-011055; Symbol: ER_INNODB_MONITOR_IS_ENABLED; SQLSTATE: HY000
Message: InnoDB: Monitor %s is already enabled.
错误 MY-011055(ER_INNODB_MONITOR_IS_ENABLED)为 MySQL 错误代码,其 SQLSTATE 代码为 HY000。这个错误表明 InnoDB 监控功能被激活,但是 InnoDB 并不支持该功能。
MySQL 是一个关系型数据库,内置多种引擎,如 MyISAM、InnoDB 等,使用者可以根据需要选择不同的存储引擎。然而,有几个引擎不支持 InnoDB 的信息监控功能,当使用者将信息监控功能激活时,即使使用这些引擎,也会抛出此错误。
常见案例
如果在使用某些MySQL引擎(如MyISAM)时,使用下面的SQL语句显式激活信息监控功能,则会出现此错误,因为从MySQL 5.6.2开始,MyISAM不支持该功能:
SET GLOBAL innodb_monitor_enable = all;
解决方法
解决此错误的第一步是检查使用的存储引擎。如果是使用某些MySQL引擎(如MyISAM),则应禁用信息监控功能,即:
SET GLOBAL innodb_monitor_enable = OFF;
如果使用的引擎支持信息监控功能(如InnoDB),则可以执行以下操作以配置连接:
SET GLOBAL innodb_monitor_enable = all;
如果不想要禁用信息监控功能,可以把 innodb_monitor_enable 设置为 off,因为这将阻止任何形式的信息监控活动:
SET GLOBAL innodb_monitor_enable=OFF;
最后,要确保按期测试备份以及更新,即使没有出现此错误,也可以有效确保数据库安全。