FEHLER - Funktion 'innodb' existiert bereits

11

Ich möchte einige MyISAM-Tabellen in INNODB konvertieren. Ausführen von Ubuntu 14.04 Server mit MySQL 5.6 (apt-get aktualisiert von 5.5), 32G RAM auf 4 Core / 8 Thread CPU. Anfangs hatte Probleme mit ...

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

und

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

Ich habe Rolandos Rat befolgt und die DB stürzt nicht mehr ab oder erstellt kein großes error.log mehr. (Die oben genannten Probleme sind weg und beschreiben nur die wichtigsten Ereignisse.)

Jetzt mache ich mir Sorgen um die folgenden Fehler, bevor ich etwas in INNODB konvertiere. Federated kann von dem, was ich lese, ignoriert werden. Die zweite Zeile unten (auch das Thema dieses Beitrags) betrifft mich

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

hat my.cnf aus Rolandos Ratschlägen Folgendes hinzugefügt

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

Ich war mir nicht sicher, ob es noch etwas mit INNODB zu tun haben sollte. Basierend auf dem, was ich auch finden konnte, hinzugefügt

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

Das hat nicht geholfen. Nicht, dass ich damit gerechnet hätte, eine "vorhandene Funktion" zu eliminieren ... lol

Traildex
quelle
Haben Sie mysql_upgrade ausgeführt?
Dwjv
@dwjv unsicher, also habe ich es ausgeführt und es stand "Diese Installation von MySQL ist bereits auf 5.6.17 aktualisiert". Dieselbe Ausgabe der "[ERROR] -Funktion 'innodb' existiert bereits" im error.log
traildex

Antworten:

12

Die Plugins, die Fehler im error.log auslösen, wurden in my.cnf nicht speziell angegeben. Also rannte ich ...

select * from mysql.plugin

Für MySQL 5.6.17 habe ich die folgenden Zeilen in mysql.plugin gelöscht

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

Löschen Sie nichts, bei dem Sie sich nicht sicher sind. Das oben genannte funktionierte für mich als ...

  • Ich verwende Federated nicht (greift auf Daten in Tabellen von entfernten Datenbanken zu)
  • INNODB ist in 5.6 integriert, kein Plugin erforderlich
  • Ich benutze Blackhole nicht (akzeptiert Daten, wirft sie aber weg und speichert sie nicht)
  • Ich verwende kein Archiv (Speichern großer Datenmengen ohne Indizes auf sehr kleinem Raum)
Traildex
quelle
2
Sie sollten eine zusätzliche Gutschrift für die Auflistung erhalten, welches Plugin was macht, danke!
n611x007
0

PROBLEM

mysql.innodb_table_statsist Teil der MySQL 5.6-Installation. mysql_upgrade generiert sie nicht. Warum ?

  • Wenn Sie MySQL 5.6 von Grund auf neu installieren, wird diese Datei generiert.
  • Die Datei innodb_table_stats.ibdist im MySQL-Schema in MySQL 5.5 nicht vorhanden
  • MySQL 5.5 von MySQL 5.5 kennt keine Innodb-Systemtabellen.
  • Tatsächlich enthält .ibdMySQL 5.6 im MySQL-Schema fünf (5) Dateien.

LÖSUNG

Bitte schauen Sie sich diese Beiträge an, die ich letztes Jahr geschrieben habe, wie man sie macht

Versuche es !!!

RolandoMySQLDBA
quelle
Vielen Dank, ich habe das zuvor mit Ihrem Rat gelöst. Mein Anliegen hier ist "[ERROR] Funktion 'innodb' existiert bereits" in der error.log
traildex
0

Ich habe solche ähnlichen Fehler in PCLinuxOs. Was ich getan habe , ist nur die Datei umbenannt /etc/my.cnfzu /etc/my.cnf.bakund ich konnte den MySQL - Server starten. Ich kenne den genauen Grund nicht, aber es hat bei mir funktioniert. Die Einstellungen in dieser Datei sind möglicherweise widersprüchlich.

Krishnadas PC
quelle