Como restaurar o banco de dados mysql dos arquivos físicos?

12

Acabei de reinstalar o sistema, não fiz backup de despejo, mas ainda tenho a pasta física das minhas instalações mysql anteriores.

É possível usá-lo para restaurar e atualizar minha configuração atual?

John
fonte

Respostas:

11

É possível, mas não sugerido. Se eu fosse tentar, aqui está como eu faria.

  1. Instale o mysql, configure o mais próximo possível do servidor antigo ou apenas use a mesma configuração. Certifique-se de que ele seja iniciado, reiniciado e você possa fazer login nele. Agora desligue o mysql.

  2. Mova a instalação antiga para fora do caminho com mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync ou copie os novos arquivos no lugar. sudo rsync -av /old/mysql/ /var/lib/mysql/Sugiro manter os arquivos originais em seu estado atual, caso isso não funcione.

  4. sudo chown -R mysql: /var/lib/mysqle então inicie o mysql. Verifique os logs, verifique se as coisas estão boas e, em seguida, efetue login no Mysql. Pesquise e verifique se os dados estão lá.

Assumindo que tudo correu bem, você deve estar preparado. Agora imediatamente faça uma devida devolução ao Mysql, para que você não precise fazer esse tipo de besteira na próxima vez.

Kashani
fonte
1
Eu seria cuidadoso ao executar a etapa 2 acima antes da etapa 1. Você deseja garantir que a instalação e o início do mysqld não substituam o banco de dados antigo do sistema.
malcolmpdx
Este é um bom ponto. Eu assumi que / var / lib / mysql não era da instalação original. De qualquer forma, sim, verifique se seus arquivos originais não estão em / var / lib / mysql antes de iniciar isso. Você deseja iniciar com uma instância nova do Mysql antes de começar a tentar carregar seus dados originais.
Kashani
obrigado. Modifiquei levemente a etapa de adaptação ao meu ambiente Zend Server CE e MacOS e funciona!
John John
@ Kashani eu segui estas instruções (centos), mas no novo servidor eu recebo a tabela para mostrar, mas os dados e tabela não .. alguma idéia? i ver todas as tabelas dentro da pasta eles simplesmente não aparecem (ele também parece que é o conjunto de caracteres à direita)
K2xL
2
@ K2xL Não sei bem o que você está vendo. Se você criar uma nova pergunta com os detalhes do que está vendo e como a conseguiu, ficaria feliz em vê-la. Lembre-se de que o método acima funciona apenas para toda a instalação do Mysql, não para o banco de dados individual, porque as tabelas Innodb possuem dados armazenados nos principais arquivos ibdata, independentemente de você estar usando innodb_file_per_table ou não.
Kashani