Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recuperar o banco de dados MySQL de arquivos .myd, .myi, .frm


Se estas forem tabelas MyISAM, então coloque os arquivos .FRM, .MYD e .MYI em um diretório de banco de dados (por exemplo, /var/lib/mysql/dbname ) disponibilizará essa tabela. Não precisa ser o mesmo banco de dados de onde vieram, o mesmo servidor, a mesma versão do MySQL ou a mesma arquitetura. Você também pode precisar alterar a propriedade da pasta (por exemplo, chown -R mysql:mysql /var/lib/mysql/dbname )

Observe que as permissões (GRANT , etc.) fazem parte do mysql base de dados. Então eles não serão restaurados junto com as mesas; pode ser necessário executar o GRANT apropriado instruções para criar usuários, dar acesso, etc. (Restaurando o arquivo mysql banco de dados é possível, mas você precisa ter cuidado com as versões do MySQL e quaisquer execuções necessárias do mysql_upgrade Utilitário.)

Na verdade, você provavelmente só precisa do .FRM (estrutura da tabela) e .MYD (dados da tabela), mas você terá que reparar a tabela para reconstruir o .MYI (índices).

A única restrição é que, se você estiver fazendo o downgrade, é melhor verificar as notas de lançamento (e provavelmente executar a tabela de reparo). Versões mais recentes do MySQL adicionam recursos, é claro.

[Embora deva ser óbvio, se você misturar e combinar tabelas, a integridade dos relacionamentos entre essas tabelas é o seu problema; O MySQL não se importará, mas seu aplicativo e seus usuários podem. Além disso, esse método não funciona para tabelas InnoDB. Apenas MyISAM, mas considerando os arquivos que você tem, você tem MyISAM]