Pergunta

Como habilitar o suporte inno-db na instância instalada do MySql?

Eu instalei o mysql-5.0.67-win32.'InnoDB' está 'DESATIVADO' ao executar 'show engines'.De acordo com a documentação MySql é compilado com suporte de inno-db (Do doc:Um valor DISABLED ocorre porque o servidor foi iniciado com uma opção que desativa o mecanismo ou porque nem todas as opções necessárias para ativá-lo foram fornecidas.)

No my.ini comentei a linha com 'skip-innodb'.Isso não ajudou.Todas as outras variáveis ​​relacionadas ao inno-db permanecem inalteradas.

Realizei algumas ações incomuns antes de vivenciar a situação descrita.Eu tenho o mysql-4.0.17-win instalado.Eu desinstalei e depois instalei o mysql-5.0.67-win32.No assistente de instalação eu escolhi apenas o suporte MyISAM (até onde eu entendi, desabilitei o suporte inno-db dessa forma.Quando tentei reinstalar com suporte ao inno-db tive problemas ao usar meu banco de dados anterior 'mysql' com informações da conta).

A documentação do MySQL diz que devo usar o mysqldump para exportar dados e depois importar os dados exportados em processo de atualização.Tentei fazer isso, mas ao importar dados recebi mensagem sobre erro de sintaxe (acho que está relacionado a algumas incompatibilidades da 4ª e 5ª versão do mysql)

Foi útil?

Solução 6

Eu resolvi o problema.

Resumidamente:Não consegui despejar bancos de dados no MySql4 e restaurá-los no MySql5 devido a alguns erros sintáticos estranhos ao importar dados.

Tentei após a instalação substituir os bancos de dados MySql5 pelos antigos, incluindo o banco de dados 'mysql'.Funciona bem, mas não consegui ativar o suporte inno-db.(Dessa forma consegui até usar a função PASSWORD para senhas antigas (em vez de OLD_PASSWORD))

Como a estrutura do banco de dados 'mysql' foi alterada na versão 5, tentei instalar o MySql5 novamente e copiei meus bancos de dados antigos, exceto o 'mysql'.Depois disso atualizei o banco de dados 'mysql' com a versão corrigida dos dados exportados do 'mysql'.Desta forma consegui o mysql 5 funcionando.

Afinal eu também executei
mysqlcheck --all-databases --auto-repair
para atualizar minhas tabelas.

P.S.Agradeço aos autores de todas as respostas que me sugerem a maneira correta de resolver o problema.

Outras dicas

Deve estar habilitado por padrão.Existem algumas situações em que permissões erradas na pasta lib do MySQL fazem com que o InnoDB latir.Verifique seu log de erros do MySQL para erros de permissão.

Eu tenho as seguintes opções de innodb em my.ini.É uma configuração mínima, então não use esses valores se quiser que o mysql tenha um bom desempenho.Por favor reinicie o mysql após uma alteração no my.ini.

#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8

Talvez você tenha desativado o inno-db no arquivo de configuração global.No Linux, isso seria algo como /etc/mysql/my.cnf - talvez o Windows tenha um arquivo conf global semelhante.

Certifique-se de alterar o arquivo my.ini correto.No Windows, isso é lido em vários locais.A ordem é:

  1. WINDIR\meu.ini, WINDIR\meu.cnf
  2. C:\meu.ini, C:\meu.cnf
  3. INSTALLDIR\meu.ini, INSTALLDIR\meu.cnf
  4. arquivo extra padrão

Tipo mysql --help no prompt de comando para ver a ordem real em seu computador, por exemplo:

As opções padrão são lidas a partir do seguintes arquivos na ordem dada:C:\meu.ini C:\meu.cnf C:\WINDOWS\meu.ini C:\WINDOWS\my.cnf C:\Programa Arquivos\MySQL\M ySQL Server 5.0\my.ini C:\Arquivos de Programas\MySQL\MySQL Server 5.0\meu.cnf

você verificou os parâmetros de inicialização?talvez o script de shell ou arquivo em lote que você usa para inicializar o servidor desative o mecanismo na linha de comando.Os sinalizadores de linha de comando do IIRC superam as configurações do .ini.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top