解决MySQL 5.6版的Function 'innodb' already exists错误-阿里云开发者社区

开发者社区> 数据库> 正文

解决MySQL 5.6版的Function 'innodb' already exists错误

简介: 解决MySQL 5.6版的Function ‘innodb’ already exists错误 MySQL 5.6启动后,其日志文件存在如下错误: ...... 2015-10-28 13:27:05 25054 [ERROR] Function 'inno...

解决MySQL 5.6版的Function ‘innodb’ already exists错误

MySQL 5.6启动后,其日志文件存在如下错误:

......
2015-10-28 13:27:05 25054 [ERROR] Function 'innodb' already exists
2015-10-28 13:27:05 25054 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2015-10-28 13:27:05 25054 [ERROR] Function 'federated' already exists
2015-10-28 13:27:05 25054 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2015-10-28 13:27:05 25054 [ERROR] Function 'blackhole' already exists
2015-10-28 13:27:05 25054 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2015-10-28 13:27:05 25054 [ERROR] Function 'archive' already exists
2015-10-28 13:27:05 25054 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.
...... 

分析原因,是MySQL 5.6没有以下四个插件所致。

MySQL 5.6服务器初始化脚本添加了以下的插件表,而实际上MySQL 5.6不依赖于任何插件。

mysql> select * from mysql.plugin;
+-----------+-----------------+
| name      | dl              |
+-----------+-----------------+
| innodb    | ha_innodb.so    |
| federated | ha_federated.so |
| blackhole | ha_blackhole.so |
| archive   | ha_archive.so   |
+-----------+-----------------+
4 rows in set (0.00 sec) 

解决它很简单,执行命令:

mysql> delete from mysql.plugin;
Query OK, 4 rows affected (0.00 sec) 

删掉这4个插件,清除日志,重启MySQL服务,可以看到,MySQL无错运行。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章