Pergunta

É possível restaurar um banco de dados MySQL a partir dos arquivos de banco de dados físicos. Eu tenho um diretório que tem os seguintes tipos de arquivos:

client.frm
client.MYD
client.MYI

mas por cerca de 20 mais tabelas.

Eu costumo usar mysqldump ou uma ferramenta semelhante para colocar tudo em um arquivo SQL então o que é a maneira de lidar com esses tipos de arquivos?

Foi útil?

Solução

tabela A MySQL MyISAM é a combinação de três arquivos:

  • O arquivo FRM é a definição da tabela.
  • O arquivo MYD é onde os dados reais são armazenados.
  • O arquivo MYI é onde os índices criados em cima da mesa são armazenados.

Você deve ser capaz de restaurar, copiando-os na sua pasta de base de dados (no Linux, o local padrão é /var/lib/mysql/)

Você deve fazê-lo enquanto o servidor não está em execução.

Outras dicas

A partir da resposta de @Vicent, eu já restaurar banco de dados MySQL como abaixo:

Passo servidor MySQL 1. Shutdown

Passo 2. base de dados de cópia em sua pasta de base de dados (em linux, o local padrão é / var / lib / mysql). Mantenha mesmo nome do banco de dados, e mesmo nome de banco de dados no modo mysql.

sudo cp -rf   /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/

Passo 3: Mudança própria e modo de alteração da pasta:

sudo chown -R mysql:mysql /var/lib/mysql/database1
sudo chmod -R 660 /var/lib/mysql/database1
sudo chown  mysql:mysql /var/lib/mysql/database1 
sudo chmod 700 /var/lib/mysql/database1

Passo 4: Copiar ibdata1 em seu banco de dados de pasta

sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/

sudo chown mysql:mysql /var/lib/mysql/ibdata1

Passo 5:. Cópia ib_logfile0 e ib_logfile1 arquivos em sua pasta de banco de dados

sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile0 /var/lib/mysql/

sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile1 /var/lib/mysql/

Lembre-se de mudança própria e mudança raiz desses arquivos:

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1

ou

sudo chown -R mysql:mysql /var/lib/mysql

Passo 6 (opcional): Meu site tem configuração para armazenar arquivos em um local específico, então eu copiar aqueles a localização correspondente, exatamente

.

Passo 7: Comece o seu servidor MySQL. Tudo voltar e apreciá-lo.

É isso.

Veja mais informações em: https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/

Eu tenho o mesmo problema, mas não foi recuperada com sucesso o banco de dados com base nas instruções acima.

Eu só tenho pastas recuperadas do banco de dados mysql do meu Ubuntu OS. Meu problema é como recuperar o meu banco de dados com aqueles pasta de dados mysql ilegível. Agora eu voltar para OS Win7 para ambiente de desenvolvimento.

* NOTA Eu tenho um servidor de banco de dados existente em execução no win7 e eu só precisa de alguns arquivos de banco de dados para recuperar a partir dos arquivos recuperados. Para recuperar com sucesso os arquivos de banco de dados a partir do Ubuntu OS I necessidade de mesma versão novo servidor de banco de dados MySQL instalado fresco do Ubuntu OS no meu win7 OS para recuperar tudo nesse servidor de banco de idade.

  1. Faça outra nova mesma versão do servidor de banco de dados mysql do arquivos recuperados.

  2. Parar o servidor mysql

  3. copiar a pasta recuperada e colar no (C: \ ProgramData \ MySQL \ MySQL Server 5.5 \ dados) da base de dados mysql está armazenado.

  4. Copie o arquivo ibdata1 localizado no linux mysql pasta instalada e colá-lo em (C: \ ProgramData \ MySQL \ MySQL Server 5.5 \ data). Pouco mais de direito a cópia de segurança existentes ou fazer antes de substituir.

  5. iniciar o servidor MySQL e verificar se você tem recuperado com sucesso os arquivos de banco de dados.

  6. Para usar o banco de dados recuperado no meu servidor mysql atualmente usado simplesmente exportar o banco de dados recuperado e importá-lo meu mysql existente servidor.

Hope Estes irão ajudar porque eu não encontrar uma solução para o meu problema.

Se estiver a restaurar a pasta não se esqueça de chown os arquivos para mysql: mysql
chown -R mysql:mysql /var/lib/mysql-data
caso contrário você terá erros ao tentar soltar um banco de dados ou adicionar nova coluna etc ..

e reiniciar MySQL

service mysql restart

Com o MySQL 5.1 (Win7). Para recriar DBS (InnoDbs) troquei todos os conteúdos de seguir dirs (params my.ini):

datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL Datafiles/"

Depois que eu comecei serviço MySQL e tudo funciona bem.

Sim, é! Basta adicioná-las à sua pasta-base de dados (dependendo do sistema operacional) e executar um comando como "Permissões MySQL consertar". Esta re-armazenados no banco de dados. Veja também que as permissões corretas estão definidas nos arquivos de cabeceira.

Uma vez eu copiado esses arquivos para a pasta de armazenamento de banco de dados para um banco de dados mysql que estava trabalhando, começou a db e esperou por ele para "reparar" os arquivos, em seguida, extraído-los com mysqldump.

No meu caso, simplesmente removendo o tc.log em / var / lib / mysql foi o suficiente para iniciar o MariaDB / mysql novamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top