restaurando myisam mysql db em uma máquina diferente

2

Eu copiei o diretório db da web (/ var / lib / mysql / data / web /), quando o mysql não está rodando. Eu transferi este diretório para outra máquina, onde o mysql está rodando.

O material do db da web é baseado em myisam.

Estou pensando em como restaurar isso em um servidor diferente. A estratégia que tenho em mente é a seguinte.

  1. copie o diretório de dados do banco de dados da web para o novo servidor.
  2. no novo servidor, 'criar banco de dados web', que cria um diretório em / var / lib / mysql / data
  3. copie todos os arquivos da etapa para o novo diretório criado em 2.
  4. bounce mysql

Minha pergunta: como lidar com o information_schema para este novo banco de dados?

    
por RainDoctor 02.04.2010 / 08:24

3 respostas

2

Seis anos após essa pergunta ser feita, tive que copiar uma tabela MYISAM de 80 milhões de linhas para um banco de dados de backup (ela estava usando 80% do espaço em disco de todo o nosso banco de dados).

Eu peguei os arquivos .MYI, .MYD e .FRM do backup noturno e os copiei para a pasta de um novo banco de dados em execução. O information_schema foi atualizado quase imediatamente e todas as operações da tabela funcionaram como esperado (ou seja, os índices e o material estavam corretos). Vou executar CHECK TABLE e OPTIMIZE TABLE neles antes de enviá-los para uma aposentadoria tranquila, mas esse método de backup foi indolor.

    
por 28.06.2016 / 10:02
2

information_schema é o banco de dados de informações onde as informações sobre todos os outros bancos de dados são mantidas. É um banco de dados virtual integrado com o único propósito de fornecer informações sobre o próprio sistema de banco de dados. O servidor MySQL preenche automaticamente as tabelas no information_schema.

referência: link

Então, se apenas as tabelas myisam, você pode copiar / mover o banco de dados contanto que as versões do mysql sejam iguais.

    
por 29.10.2010 / 19:53
1

na sua máquina de origem:

mysqldump -q -u username -p database > database.sql

transfira database.sql para a máquina de destino e faça:

mysql -u username -p database < database.sql
    
por 02.04.2010 / 08:45

Tags