ERRORE - La funzione 'innodb' esiste già


11

Sto cercando di iniziare a convertire alcune tabelle MyISAM in INNODB. Esecuzione di Ubuntu 14.04 Server con MySQL 5.6 (apt-get aggiornato da 5.5), RAM 32G su CPU a 4 core / 8 thread. Inizialmente avuto problemi con ...

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

e

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

Ho seguito i consigli pubblicati da Rolando e il DB non si arresta in modo anomalo o crea più un errore.log enorme. (i problemi di cui sopra sono scomparsi, descrivendo solo gli eventi principali)

Ora sono preoccupato per i seguenti errori prima di convertire qualsiasi cosa in INNODB. Federated può essere ignorato da ciò che ho letto, la seconda riga di seguito (anche l'argomento di questo post) mi riguarda

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'.

aggiunto quanto segue a my.cnf dai consigli pubblicati da 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

Non ero sicuro che ci fosse qualcos'altro correlato a INNODB. Sulla base di ciò che ho trovato anche aggiunto

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

Questo non ha aiutato. Non che mi aspettassi che eliminasse una "funzione esistente" ... lol


Hai eseguito mysql_upgrade?
dwjv,

@dwjv non è sicuro, quindi l'ho eseguito e ha detto "Questa installazione di MySQL è già stata aggiornata alla 5.6.17". Stesso problema di "[ERRORE] Funzione 'innodb' già esistente" in error.log
traildex,

Risposte:


12

I plugin che generano errori in error.log non sono stati specificati in modo specifico in my.cnf. Quindi ho corso ...

select * from mysql.plugin

per MySQL 5.6.17 ho eliminato le seguenti righe in mysql.plugin

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

Non cancellare nulla di cui non sei sicuro. Quanto sopra ha funzionato per me come ...

  • Non utilizzo Federated (accede ai dati nelle tabelle dei database remoti)
  • INNODB è integrato in 5.6, non è richiesto alcun plug-in
  • Non utilizzo Blackhole (accetta i dati ma li butta via e non li memorizza)
  • Non uso Archive (memorizzazione di grandi quantità di dati senza indici in un ingombro molto ridotto)

2
dovresti ricevere un credito extra per elencare quale plugin fa cosa, grazie!
n611x007,

0

PROBLEMA

mysql.innodb_table_statsfa parte dell'installazione di MySQL 5.6. mysql_upgrade non li genera. Perché ?

  • Quando installi MySQL 5.6 da zero, quel file viene generato.
  • Il file innodb_table_stats.ibdnon esiste nello schema mysql in MySQL 5.5
  • Mysql_upgrade di MySQL 5.5 non è a conoscenza di alcuna tabella di sistema innodb.
  • In effetti, ci sono cinque (5) .ibdfile in MySQL 5.6 nello schema mysql.

SOLUZIONE

Per favore guarda questi post che ho scritto l'anno scorso su come realizzarli

Provaci !!!


Grazie, l'ho risolto in precedenza con i tuoi consigli pubblicati. La mia preoccupazione qui è "[ERRORE] La funzione 'innodb' esiste già" in error.log
traildex,

0

Ho avuto questo tipo di errori simili in PCLinuxOs. Quello che ho fatto è solo rinominato il file /etc/my.cnfper /etc/my.cnf.bake sono stato in grado di avviare il server MySQL. Non conosco il motivo esatto ma ha funzionato per me. Le impostazioni in quel file potrebbero essere in conflitto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.