ERRO - A função 'innodb' já existe

11

Eu estou olhando para começar a converter algumas tabelas MyISAM para INNODB. Executando o Ubuntu 14.04 Server com MySQL 5.6 (apt-get upgrade from 5.5), 32G de ram em 4 núcleos / 8 threads de CPU. Inicialmente teve problemas com ...

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.

Eu segui os conselhos publicados por Rolando e o banco de dados não está mais travando ou criando um enorme error.log. (os problemas acima desapareceram, apenas descrevendo os principais eventos)

Agora, estou preocupado com os seguintes erros antes de converter qualquer coisa para INNODB. Federado pode ser ignorado pelo que li, a segunda linha abaixo (também o assunto deste post) me preocupa

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

adicionou o seguinte ao my.cnf dos conselhos publicados por 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

Não tinha certeza se deveria haver algo mais relacionado ao INNODB. Com base no que eu pude encontrar, também foi adicionado

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

Isso não ajudou. Não que eu esperasse eliminar uma "função existente" ... lol

traildex
fonte
Você executou mysql_upgrade?
Dwjv 19/05
@dwjv inseguro, então eu o executei e dizia: "Esta instalação do MySQL já foi atualizada para 5.6.17". A mesma edição da "[ERRO] Função 'innodb' já existe" no error.log
traildex

Respostas:

12

Os plugins que lançavam erros no error.log não foram especificados especificamente em my.cnf. Então eu corri ...

select * from mysql.plugin

para MySQL 5.6.17 Excluí as seguintes linhas no mysql.plugin

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

Não apague nada de que não tenha certeza. O acima funcionou para mim como ...

  • Não uso Federado (acessa dados em tabelas de bancos de dados remotos)
  • INNODB está embutido na 5.6, nenhum plugin é necessário
  • Não uso o Blackhole (aceita dados, mas os joga fora e não os armazena)
  • Não uso o Archive (armazenando grandes quantidades de dados sem índices em uma área muito pequena)
traildex
fonte
2
você deve receber um crédito extra por listar qual plugin faz o quê, obrigado!
N611x007
0

PROBLEMA

mysql.innodb_table_statsfaz parte da instalação do MySQL 5.6. mysql_upgrade não os gera. Por quê ?

  • Quando você instala o MySQL 5.6 a partir do zero, esse arquivo é gerado.
  • O arquivo innodb_table_stats.ibdnão existe no esquema mysql no MySQL 5.5
  • O mysql_upgrade do MySQL 5.5 não está ciente de nenhuma tabela do sistema innodb.
  • De fato, existem cinco (5) .ibdarquivos no MySQL 5.6 no esquema mysql.

SOLUÇÃO

Por favor, olhe para essas postagens que escrevi no ano passado sobre como fazê-las

De uma chance !!!

RolandoMySQLDBA
fonte
Obrigado, resolvi isso anteriormente com seus conselhos publicados. Minha preocupação aqui é "[ERROR] Função 'InnoDB' já existe" na error.log
TrailDEX
0

Eu recebi esse tipo de erro semelhante no PCLinuxOs. O que tenho feito é apenas renomeou o arquivo /etc/my.cnfde /etc/my.cnf.bake eu era capaz de iniciar o servidor mysql. Não sei o motivo exato, mas funcionou para mim. As configurações nesse arquivo podem estar em conflito.

Krishnadas PC
fonte