ПОМИЛКА - Функція 'innodb' вже існує


11

Я хочу почати перетворювати деякі таблиці MyISAM в INNODB. Запуск сервера Ubuntu 14.04 з MySQL 5.6 (apt-get upgrade with 5.5), 32G оперативної пам’яті на 4 ядерному / 8 потоковому процесорі. Спочатку були проблеми з ...

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

і

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

Я дотримувався опублікованих порад Роландо, і БД більше не виходить з ладу або створює величезний помилку. (вищезазначені питання відсутня, лише опис провідних подій)

Тепер я стурбований такими помилками, перш ніж щось перетворити на INNODB. Федеративно можна ігнорувати з того, що я прочитав, другий рядок нижче (також тема цієї публікації) стосується мене

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

додав наступне до my.cnf з опублікованої ради Роландо

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

Не був впевнений, чи має бути ще щось, що стосується INNODB. Виходячи з того, що я міг би знайти і додане

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

Це не допомогло. Не те, щоб я очікував, що це усуне "існуючу функцію" ... lol


Ви запустили mysql_upgrade?
dwjv

@dwjv не впевнений, тому я запустив його, і він сказав "Ця установка MySQL вже оновлена ​​до 5.6.17". Той самий випуск функції "[ПОМИЛКА]" innodb "вже існує" в error.log
traildex

Відповіді:


12

Помилки, що викидають плагіни в error.log, спеціально не вказані у my.cnf. Тому я побіг ...

select * from mysql.plugin

для MySQL 5.6.17 я видалив наступні рядки з mysql.plugin

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

Не видаляйте нічого, в чому ви не впевнені. Сказане працювало для мене, як ...

  • Я не використовую Federated (доступ до даних у таблицях віддалених баз даних)
  • INNODB вбудований у 5.6, плагін не потрібен
  • Я не використовую Blackhole (приймає дані, але викидає їх і не зберігає)
  • Я не використовую Archive (зберігання великої кількості даних без індексів у дуже маленькому сліді)

2
Ви повинні отримати додатковий кредит за те, що список плагінів робить що, дякую!
n611x007

0

ПРОБЛЕМА

mysql.innodb_table_statsє частиною установки MySQL 5.6. mysql_upgrade не генерує їх. Чому?

  • Коли ви встановите MySQL 5.6 з нуля, цей файл генерується.
  • Файл innodb_table_stats.ibdне існує в схемі mysql в MySQL 5.5
  • Mysql_upgrade MySQL 5.5 не знає жодних системних таблиць innodb.
  • Насправді, .ibdв MySQL 5.6 в схемі mysql є п'ять (5) файлів.

РІШЕННЯ

Погляньте, будь ласка, на ці пости, які я писав минулого року, як їх зробити

Спробувати !!!


Дякую, я це вирішив раніше за допомогою вашої опублікованої поради. Мене тут хвилює "[ПОМИЛКА] Функція" innodb "вже існує" в error.log
traildex

0

У мене такі подібні помилки в PCLinuxO. Те , що я зробив , це просто перейменований файл /etc/my.cnfв /etc/my.cnf.bakі я зміг запустити сервер MySQL. Я не знаю точної причини, але це працювало на мене. Налаштування у цьому файлі можуть бути суперечливими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.