O servidor MySQL copiado do Windows não será iniciado no Ubuntu Linux

1

Eu tenho um disco rígido externo (NTFS formatado) para o qual eu copiei a pasta de dados MySQL de uma máquina executando o Windows 7. Eu consegui iniciar / parar / usar o MySQL na máquina Windows com os dados no disco rígido externo .

Agora preciso acessar os mesmos dados de uma máquina que executa o Ubuntu Linux (14.04). Eu configurei o MySQL na máquina Ubuntu Linux para que ele leia o mesmo diretório de dados no disco rígido externo. No entanto, o servidor não consegue iniciar, apresentando a seguinte mensagem de erro:

InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/error-creating-innodb.html
150518 15:18:53 [ERROR] Plugin 'InnoDB' init function returned error.
150518 15:18:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE    failed.
150518 15:18:53 [ERROR] Unknown/unsupported storage engine: InnoDB
150518 15:18:53 [ERROR] Aborting

Eu parei o servidor antes de tentar iniciá-lo na outra máquina.

Nota: Eu sei que posso começar de novo na máquina linux e fazer um mysql dump / import, mas por uma variedade de razões específicas do projeto eu gostaria que os dados estivessem em um lugar, legível tanto pelas máquinas Windows quanto Linux .

LateCoder
fonte
IMHO esse erro sugere que o MySQL está tentando criar um novo espaço de tabela InnoDB (que falha) e não usar um já existente. O usuário mysql tem acesso de gravação ao diretório de dados?
Marki555
A primeira linha (nenhum ponto de verificação válido encontrado) não parece um problema de permissão.
Thomas Dickey

Respostas:

0

o documentação não menciona nem implica que isso seja possível, pois descreve apenas os métodos de dump / import que você já conhece.

Enquanto o mesa formato (ver documentação ) é dito ser o mesmo em todas as plataformas, não há menção de registro (ou journaling). As mensagens de erro que você cita parecem estar nessa área. Talvez a limitação seja devido ao uso de caminhos de sistema de arquivos locais pelo MySQL (como em my.cnf ) que seria necessariamente diferente entre o Windows e o Linux.

Thomas Dickey
fonte
O docu não menciona que isso não é possível. É mais sobre como copiar bancos de dados individuais, essa questão é sobre copiar tudo, o que deve funcionar se o formato for o mesmo (ambos ganham e 64 bits do Linux, por exemplo).
Marki555
Além disso, depois que o mysql é encerrado corretamente, você não precisa registrar em diário, ib-logfile* arquivos e eles serão recriados na inicialização.
Marki555
0

Eu sei que a minha resposta vem muito avançada, mas eu também tropecei nisso. Esta é a solução: alterar o proprietário para mysql usuário e grupo para o diretório de dados, seus arquivos e todos os seus subdiretórios, por exemplo:

chown -R mysql:mysql /var/lib/mysql
rexkogitans
fonte