版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49469819
解决MySQL 5.6版的Function ‘innodb’ already exists错误
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
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无错运行。