Traz bancos de dados antigos no MySQL?

0

Ok, então quando o mysql foi atualizado há algum tempo, ele quebrou. Simplesmente não estava começando. Então eu tentei consertá-lo, mas não tive sucesso.

Eu finalmente desisti, copiei todos os diretórios & amp; arquivos sob / var / lib / mysql para um local seguro, apt-get purge mysql, e depois apt-get install mysql.

Portanto, o servidor está em execução, mas não consigo, por minha vida, recuperar os bancos de dados antigos e de uma forma utilizável.

Eu consegui meu banco de dados gallery3 apenas copiando o diretório gallery3 do meu local de mysql / backup para dentro. Mas a instalação do gallery3 realmente não falaria com ele. : /

Possivelmente há problemas de permissão, mas eu realmente não entendo o sql.

Qualquer ajuda seria apreciada.

    
por Tymanthius 26.04.2013 / 17:15

1 resposta

1

Você não recuperará seus bancos de dados dessa maneira. Se sua versão antiga do MySQL era exatamente (!) A mesma que você está usando agora, possivelmente funcionaria, mas somente se você mover o atual / var / lib / mysql para algo como /var/lib/mysql.old e mover o conteúdo all do antigo / var / lib / mysql backup incluindo todos os subdiretórios para / var / lib / mysql agora.

Seu problema é que você fez apenas uma cópia de dados brutos dos arquivos contendo os dados, mas não fez backup da lógica. Veja, se um banco de dados é criado como gallery3, ele insere certas linhas e dados no dicionário de dados do próprio banco de dados MySQL e no esquema mestre 'mysql'. Então, apenas copiar sobre um diretório que inclui arquivos de dados não funcionará, pois - vamos chamá-los de links - para aqueles arquivos de dados dentro da nova configuração do MySQL estão faltando.

Além disso, se você executou a antiga instalação do MySQL com o tipo de banco de dados padrão "innodb" e não fez backup dos arquivos ibdata1 e ib_logfiles0 / 1 em / var / lib / mysql, seus dados serão perdidos, pois as tabelas InnoDB são completamente armazenadas. dentro do arquivo de espaço de tabelas do InnoDB (ibdata1) e apenas um pouco de metadados é armazenado nos arquivos do subdiretório.

A melhor maneira de fazer um backup simples antes de grandes problemas é criar um mysqldump de seu banco de dados (também conhecido como schema) em um arquivo .sql e reinseri-lo. Isso é chamado de backup "lógico" (em vez de físico), pois ele despeja todas as informações necessárias para reconstruir seu esquema de banco de dados como era antes. Um backup físico não é recomendado (somente se você souber exatamente o que está fazendo e quais riscos estão envolvidos).

Espero que ajude um pouco

    
por JeGr 15.05.2013 / 16:43