Function 'innodb' already exists and other errors

Bug #1468185 reported by Mitar
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
mysql-5.6 (Ubuntu)
Fix Released
Undecided
Lars Tangvald

Bug Description

When running MySQL 5.6 I am getting the following errors in the log:

2015-06-24 05:24:20 893 [ERROR] Function 'innodb' already exists
2015-06-24 05:24:20 893 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2015-06-24 05:24:20 893 [ERROR] Function 'federated' already exists
2015-06-24 05:24:20 893 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2015-06-24 05:24:20 893 [ERROR] Function 'blackhole' already exists
2015-06-24 05:24:20 893 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2015-06-24 05:24:20 893 [ERROR] Function 'archive' already exists
2015-06-24 05:24:20 893 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.

The reason seems to be that postinit script adds those entries to the plugin table:

mysql> SELECT * FROM mysql.plugin;
+-----------+-----------------+
| name | dl |
+-----------+-----------------+
| innodb | ha_innodb.so |
| federated | ha_federated.so |
| blackhole | ha_blackhole.so |
| archive | ha_archive.so |
+-----------+-----------------+

But those files do not exist for MySQL 5.6. Search shows that they exist only for MairaDB.

mysql-server-5.6: 5.6.19-0ubuntu0.14.04.1
Ubuntu 14.04.2 LTS

I would expect that there would be no errors when starting a clean installation of MySQL.

This was also reported here by another user: http://forums.mysql.com/read.php?22,614511,614511#msg-614511

Removing those rows from the plugin table makes the errors go away.

Mitar (mitar)
affects: mysql-5.5 (Ubuntu) → mysql-5.6 (Ubuntu)
Robie Basak (racb)
Changed in mysql-5.6 (Ubuntu):
assignee: nobody → Lars Tangvald (lars-tangvald)
Revision history for this message
冯宇 (abcfy2) wrote :

+1 Same issue here.

This might be ha_innodb.so and other files not exist in /usr/lib/mysql/plugin/, but mysql-server-5.5 contains these files.

Revision history for this message
Lars Tangvald (lars-tangvald) wrote : Re: [Bug 1468185] Re: Function 'innodb' already exists and other errors

Yes, this seems to be something that was copied over from 5.5 and can be
removed.

--
Lars

On 11/18/2015 11:18 AM, 冯宇 wrote:
> +1 Same issue here.
>
> This might be ha_innodb.so and other files not exist in
> /usr/lib/mysql/plugin/, but mysql-server-5.5 contains these files.
>

Revision history for this message
eggersrj (eggersrj) wrote :

Is there a work-around or fix for those that get stuck with a bad upgrade?

Robie Basak (racb)
Changed in mysql-5.6 (Ubuntu):
status: New → Triaged
Revision history for this message
Lars Tangvald (lars-tangvald) wrote :

Will try to get a patch for this up tomorrow. Note that it's not a serious error, just output junk, so the workaround is basically to ignore it :)

Revision history for this message
Robie Basak (racb) wrote :

> Is there a work-around or fix for those that get stuck with a bad upgrade?

I got the impression that this was a spurious message, ignored in the postinst, and that the daemon starts anyway? If so, you might have a different bug there. Or if this bug as reported also causes the daemon to fail, then I might have misunderstood. Please could you clarify?

@Lars can I leave it with you for a patch to 5.6 please?

Revision history for this message
Lars Tangvald (lars-tangvald) wrote :

@Robie Yup, I'll post a patch for this

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mysql-5.6 - 5.6.28-1

---------------
mysql-5.6 (5.6.28-1) unstable; urgency=medium

  [ Robie Basak ]
  * New upstream release.
  * Fix GNU/Hurd build regression (Closes: #793358). Thanks to Samuel
    Thibault.
    - Do not remove .pc in dh_auto_clean as this is wrong. Revert
      previous commit eb6e6d4 that added this.
    - Do not remove cmake/os/GNU.cmake in dh_auto_clean as this is also
      wrong as it gets introduced by a quilt patch. Revert previous commit
      7ef4a27 that added this.
  * Drop d/p/fix_testsuite_date.patch: fixed upstream.
  * wrap-and-sort
  * d/mysql-server-core-5.6.install: remove duplicate entries. Thanks to Otto
    for pointing these out.

  [ Lars Tangvald ]
  * Removed legacy plugin install code (LP: #1468185).
  * Made infinite loop in systemd script time out (LP: #1478849).

  [ Robie Basak ]
  * Depend on bsdutils as logger is used by mysql-server-5.6.postinst (LP:
    #1534544). Thanks to TJ.

 -- Robie Basak <email address hidden> Fri, 15 Jan 2016 12:11:43 +0000

Changed in mysql-5.6 (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Luis Mondesi (lemsx1) wrote :

I got this same error on Ubuntu 16.04 while upgrading to mysql-server 5.7

Revision history for this message
Luis Mondesi (lemsx1) wrote :

never mind, the reason was that my /etc/mysql/my.cnf file contained 2 variables that the newer mysqld did not like. Running this shows the error in the log file (/var/log/mysql/error.log):

# su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe"

The two variables were:

[mysqld]
...
key_buffer = 16M
myisam-recover = BACKUP

Revision history for this message
Thomas (t-hartwig) wrote :

Thanks Luis, this worked for me. Great job.

Revision history for this message
Jammot Gabriel (gabriel-jammot) wrote :

Thanks Luis,

I have upgraded a server from ubuntu-server 15.10 to 16.04.
I have the same problem and fix it with commenting the line with the variable "myisam-recover = BACKUP". I don't have the first variable.

Best regard

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.