ERROR - La función 'innodb' ya existe

11

Estoy buscando comenzar a convertir algunas tablas MyISAM a INNODB. Ejecutando Ubuntu 14.04 Server con MySQL 5.6 (apt-get actualizado de 5.5), 32G ram en CPU de 4 núcleos / 8 hilos. Inicialmente tuve problemas con ...

could not open single-table tablespace file .\mysql\innodb_index_stats.ibd after restart of MySQL

y

Error: Table "mysql"."innodb_table_stats" not found.

Seguí los consejos publicados de Rolando y el DB ya no se bloquea ni crea un gran error.log. (los problemas anteriores se han ido, solo se describen los eventos principales)

Ahora estoy preocupado por los siguientes errores antes de convertir cualquier cosa a INNODB. Federated puede ignorarse por lo que leí, la segunda línea a continuación (también el tema de esta publicación) me concierne

2014-05-19 01:50:57 30950 [Note] Plugin 'FEDERATED' is disabled.
2014-05-19 01:50:57 30950 [ERROR] Function 'innodb' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'federated' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'blackhole' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'archive' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.

agregó lo siguiente a my.cnf del consejo publicado de Rolando

innodb_buffer_pool_size=4G
innodb_buffer_pool_instances=2
innodb_read_io_threads=12
innodb_write_io_threads=12
innodb_io_capacity=300
innodb_log_file_size=128M

No estaba seguro de si debería haber algo más relacionado con INNODB. Basado en lo que pude encontrar también agregado

innodb_flush_method            = O_DIRECT
innodb_log_files_in_group      = 2
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table          = 1

Eso no ayudó. No es que esperara que eliminara una "función existente" ... jajaja

traildex
fuente
¿Ejecutó mysql_upgrade?
dwjv
@dwjv no estoy seguro, así que lo ejecuté y decía "Esta instalación de MySQL ya está actualizada a 5.6.17". El mismo problema de "[ERROR] La función 'innodb' ya existe" en el error.log
traildex

Respuestas:

12

Los complementos que arrojan errores en el error.log no se especificaron específicamente en my.cnf. Entonces corrí ...

select * from mysql.plugin

para MySQL 5.6.17 borré las siguientes filas en mysql.plugin

innodb ha_innodb.so
federated ha_federated.so
blackhole ha_blackhole.so
archive ha_archive.so

No elimine nada de lo que no esté seguro. Lo anterior funcionó para mí como ...

  • No uso Federado (accede a datos en tablas de bases de datos remotas)
  • INNODB está integrado en 5.6, no se requiere complemento
  • No uso Blackhole (acepta datos pero los tira y no los almacena)
  • No uso Archive (almacenamiento de grandes cantidades de datos sin índices en un espacio muy pequeño)
traildex
fuente
2
debería recibir crédito adicional por enumerar qué complemento hace qué, ¡gracias!
n611x007
0

PROBLEMA

mysql.innodb_table_statses parte de la instalación de MySQL 5.6. mysql_upgrade no los genera. Por qué ?

  • Cuando instala MySQL 5.6 desde cero, se genera ese archivo.
  • El archivo innodb_table_stats.ibdno existe en el esquema mysql en MySQL 5.5
  • Mysql_upgrade de MySQL 5.5 no conoce ninguna tabla de sistema innodb.
  • De hecho, hay cinco (5) .ibdarchivos en MySQL 5.6 en el esquema mysql.

SOLUCIÓN

Mire estas publicaciones que escribí el año pasado sobre cómo hacerlas

Darle una oportunidad !!!

RolandoMySQLDBA
fuente
Gracias, resolví eso previamente con tu consejo publicado. Mi preocupación aquí es "[ERROR] La función 'innodb' ya existe" en el error.log
traildex
0

Obtuve este tipo de errores similares en PCLinuxOs. Lo que he hecho es sólo cambió el nombre del archivo /etc/my.cnfa /etc/my.cnf.baky yo era capaz de iniciar el servidor MySQL. No sé la razón exacta pero funcionó para mí. La configuración en ese archivo puede ser conflictiva.

Krishnadas PC
fuente