Restore de MySQL que estava em Windows em Linux

Post Reply
portilho
Site Admin
Posts: 482
Joined: Wed May 29, 2013 8:51 am

Restore de MySQL que estava em Windows em Linux

Post by portilho » Mon Feb 25, 2019 11:30 am

Pergunta enviada por Paulo Roberto Correia.

Existia uma instância MySQL (5.7) no Windows, essa máquina acabou morrendo.

Conseguimos resgatar o diretório da instância do MySQL no Windows. Peguei a pasta correspondente a base de dados e copiei para outra instância MySQL (5.7) no Linux SUSE. Ou seja, copiei a pasta /data/meubanco do Windows para o /data/meubanco no Linux.

Quando conecto na Base MySQL e dou um show databases aparece a base, show tables aparece as tabelas, mas quando dou um select em alguma tabela, vem a mensagem que tabela não existe ERROR 1146 (42S02):.

O mapeamento de paginas de dados são feitas da mesma forma no Linux e Windows? Ou seja, copiar e colar funciona?

Qual seria o procedimento correto para conseguir restaurar essa base em um MySQL no Linux?

Se eu tivesse feito a copias para outra maquina Windows funcionaria?

portilho
Site Admin
Posts: 482
Joined: Wed May 29, 2013 8:51 am

Re: Restode de MySQL que estava em Windows em Linux

Post by portilho » Mon Feb 25, 2019 4:47 pm

Deve ser a respeito disto:
https://dev.mysql.com/doc/refman/5.7/en ... ivity.html
https://dev.mysql.com/doc/refman/5.7/en ... able_names

Acho que as tabelas foram criadas em caixa alta no Linux (como CLIENTES) e agora o Windows as procura em minúsculo.

Isso acontece porque o valor padrão do parâmetro lower-case-table-names é 0 no Linux e 1 no Windows.

Tente alterar o parâmetro para 2 no Windows, e veja se funciona.

Post Reply