Mecanismo de armazenamento desconhecido / não suportado: InnoDB | MySQL Ubuntu

36

Eu recentemente atualizei do anterior LTS Ubuntu para Precise e agora o mysql se recusa a iniciar. Ele reclama do seguinte quando tento iniciá-lo:

╰$ sudo service mysql restart
stop: Unknown instance:
start: Job failed to start

E isso é mostrado em "/var/log/mysql/error.log":

120415 23:01:09 [Note] Plugin 'InnoDB' is disabled.
120415 23:01:09 [Note] Plugin 'FEDERATED' is disabled.
120415 23:01:09 [ERROR] Unknown/unsupported storage engine: InnoDB
120415 23:01:09 [ERROR] Aborting

120415 23:01:09 [Note] /usr/sbin/mysqld: Shutdown complete

Eu verifiquei as permissões em todos os diretórios do mysql para ter certeza de que ele tinha propriedade e também renomeiei os ib_logs anteriores para que eles pudessem refazê-los. Eu estou apenas começando não com esse problema agora, depois de olhar os resultados do google por 2 horas.

    
por Garrett 16.04.2012 / 01:24

6 respostas

29

Após verificar os logs, encontrei o seguinte erro:

[ERROR] Unknown/unsupported storage engine: InnoDB

Eu removi estes arquivos:

rm /var/lib/mysql/ib_logfile0
rm /var/lib/mysql/ib_logfile1 

em /var/lib/mysql

Isso resolveu meu problema após a reinicialização.

    
por 21.05.2014 / 07:18
21

Se você realmente precisar de skip-innodb (caso de uso: baixa pegada de memória), então é claro que você não precisa comentar. No entanto, se o InnoDB for o mecanismo de armazenamento padrão, o servidor não iniciará até você informar qual mecanismo de armazenamento usar, por exemplo, default-storage-engine=myisam para o MyISAM.

Então, tente isto:

$ sudo -u mysql mysqld --skip-innodb --default-storage-engine=myisam
    
por 24.04.2012 / 21:03
12

Se você estiver usando o MySQL 5.6+ e quiser desabilitar o InnoDB, não esqueça de " - default-tmp-storage " ou não funcionará:

To disable InnoDB, use --innodb=OFF or --skip-innodb. In this case, because the default storage engine is InnoDB, the server will not start unless you also use --default-storage-engine and --default-tmp-storage-engine to set the default to some other engine for both permanent and TEMPORARY tables.

link

Você pode adicionar isso ao seu my.cnf:

[mysqld] 
innodb=OFF 
ignore-builtin-innodb 
skip-innodb
default-storage-engine=myisam 
default-tmp-storage-engine=myisam

apenas para ter certeza de que funcionará.

    
por 23.04.2013 / 23:13
5

Verifique seu log de erros do mysql.

tail -100 /var/log/mysql/error.log

Se o seu log diz (como o meu fez):

InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
[ERROR] InnoDB: Cannot allocate memory for the buffer pool

Você não tem memória suficiente para usar o tamanho padrão do buffer de 128M

Edite o arquivo de configuração /etc/mysql/my.cnf adicionando uma linha para especificar um innodb_buffer_pool_size menor.

# make the buffer pool smaller than 128M since we only have 1 GB of total RAM
innodb_buffer_pool_size = 16M

Salve o arquivo de configuração e inicie o mysql

sudo service mysql start
    
por 18.05.2016 / 18:27
0

Tente mais duas coisas. 1. Abaixe o tamanho do buffer pool do innodb. 2. Edite o script inicial do mysql e adicione a opção --innodb.

Gostaria de saber também se o seu pacote é buggy. Você poderia tentar uma versão secundária diferente?

Além disso, eu suponho que o seu servidor mysql também foi atualizado? Talvez essa versão esteja quebrada? Preciso ainda não é final.

    
por 16.04.2012 / 05:17
0

Recebi este erro quando apaguei a localização que utilizo para tmpdir . Se você alterou recentemente seu tmpdir , convém verificar se é um local válido e gravável.

    
por 14.08.2016 / 20:02