BŁĄD - Funkcja „innodb” już istnieje

11

Chcę zacząć konwertować niektóre tabele MyISAM do INNODB. Uruchamianie Ubuntu 14.04 Server z MySQL 5.6 (apt-get uaktualniony z 5.5), RAM 32G na 4 rdzeniach / 8 wątkach procesora. Początkowo miał problem z ...

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

i

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

Postępowałem zgodnie z opublikowanymi wskazówkami Rolando, a baza danych nie zawiesza się ani nie tworzy ogromnego dziennika error.log. (powyższe problemy zniknęły, opisuję tylko najważniejsze wydarzenia)

Teraz martwię się o następujące błędy, zanim przekonwertuję cokolwiek na INNODB. Federated można zignorować z tego, co przeczytałem, druga linia poniżej (także temat tego postu) dotyczy mnie

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

dodał następujące do my.cnf z opublikowanej porady 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

Nie byłem pewien, czy powinno być coś jeszcze związanego z INNODB. Na podstawie tego, co mogłem znaleźć, również dodałem

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

To nie pomogło. Nie, że spodziewałem się, że to wyeliminuje „istniejącą funkcję” ... lol

traildex
źródło
Czy uruchomiłeś mysql_upgrade?
dwjv
@dwjv nie jestem pewien, więc go uruchomiłem i powiedział: „Ta instalacja MySQL została już zaktualizowana do wersji 5.6.17”. Ten sam problem z funkcją „[BŁĄD]„ innodb ”już istnieje” w error.log
traildex

Odpowiedzi:

12

Wtyczki zgłaszające błędy w pliku error.log nie zostały szczegółowo określone w pliku my.cnf. Więc pobiegłem ...

select * from mysql.plugin

dla MySQL 5.6.17 Usunąłem następujące wiersze w mysql.plugin

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

Nie usuwaj niczego, czego nie jesteś pewien. Powyższe działało dla mnie jako ...

  • Nie używam Federated (uzyskuje dostęp do danych w tabelach zdalnych baz danych)
  • INNODB jest wbudowany w 5.6, nie wymaga wtyczki
  • Nie używam Blackhole (akceptuje dane, ale wyrzuca je i nie przechowuje)
  • Nie używam Archive (przechowywanie dużych ilości danych bez indeksów w bardzo małym rozmiarze)
traildex
źródło
2
powinieneś otrzymać dodatkowy kredyt za informację, która wtyczka robi to, dzięki!
n611x007
0

PROBLEM

mysql.innodb_table_statsjest częścią instalacji MySQL 5.6. mysql_upgrade ich nie generuje. Dlaczego ?

  • Gdy instalujesz MySQL 5.6 od zera, ten plik jest generowany.
  • Plik innodb_table_stats.ibdnie istnieje w schemacie mysql w MySQL 5.5
  • MySQL 5.5 mysql_upgrade nie zna żadnych tabel systemowych innodb.
  • W rzeczywistości istnieje pięć (5) .ibdplików w MySQL 5.6 w schemacie mysql.

ROZWIĄZANIE

Proszę spojrzeć na te posty, które napisałem w zeszłym roku, jak je tworzyć

Spróbuj !!!

RolandoMySQLDBA
źródło
Dzięki, rozwiązałem to wcześniej z twoją opublikowaną radą. Mam tutaj obawy, że „[BŁĄD] Funkcja„ innodb ”już istnieje” w error.log
traildex
0

Mam podobne błędy w PCLinuxOs. Po prostu zmieniłem nazwę pliku /etc/my.cnfna /etc/my.cnf.baki mogłem uruchomić serwer mysql. Nie znam dokładnego powodu, ale zadziałało to dla mnie. Ustawienia w tym pliku mogą być w konflikcie.

Krishnadas PC
źródło