A repor a base de dados MySQL dos ficheiros físicos
é possível restaurar uma base de dados MySQL a partir dos ficheiros físicos da base de dados. Eu tenho um diretório que tem os seguintes tipos de Arquivo:
Cliente.frmcliente.MYD
cliente.MYI Mas por mais 20 mesas.
normalmente uso o mysqldump ou uma ferramenta semelhante para obter tudo em um arquivo SQL, então qual é a maneira de lidar com estes tipos de arquivos?
7 answers
Uma mesa MyISAM MySQL é a combinação de três ficheiros:
- o ficheiro FRM é a definição da tabela.
- o ficheiro MYD é onde os dados reais são armazenados.
- o ficheiro MYI é onde os índices criados na tabela são armazenados.
Você deve ser capaz de restaurar, copiando-os na sua pasta de base de dados (no linux, a localização por omissão é /var/lib/mysql/
)
Você deve fazê-lo enquanto o servidor não está em execução.
sudo cp -rf /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/
Passo 3: Mudar o modo próprio e mudar a 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 o ibdata1 na sua pasta de base de dados
sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/
sudo chown mysql:mysql /var/lib/mysql/ibdata1
Passo 5: copiar ib_logfile0 e ib_logfile1 ficheiros na sua pasta de base 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 mudar o próprio e mudar 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): O meu site tem configuração para armazenar ficheiros num local específico, depois copio-os para o local correspondente, exactamente.
Passo 7: iniciar o seu servidor Mysql. Tudo volta e aproveita. É isso.Ver Mais informação em: https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/
Eu Tenho o mesmo problema, mas não foi recuperado com sucesso a base de dados com base nas instruções acima.
Só recuperei as pastas da base de dados mysql do meu Ubuntu OS. O meu problema é como recuperar a minha base de dados com a pasta de dados mysql ilegível. Agora eu mudo de volta para o win7 OS para o ambiente de desenvolvimento.*Nota Eu tenho um servidor de banco de dados existente em execução no win7 e eu só preciso de poucos arquivos de banco de dados para recuperar dos arquivos recuperados. Para recuperar com sucesso os arquivos de banco de dados do Ubuntu OS que eu preciso para renovar o servidor de banco de dados mysql instalado a mesma versão do Ubuntu OS no meu win7 OS para recuperar tudo naquele antigo servidor de banco de dados.
Fazer outra nova versão do servidor de bases de dados mysql a partir da ficheiros recuperados.
Parar o servidor de mysql
Copiar a pasta recuperada e colar na (C:\ProgramData\MySQL\MySQL servidor 5.5\data) a base de dados mysql é Opcao.
Copiar o ibdata1 ficheiro localizado na pasta instalada no Linux mysql e colar (C:\ProgramData\MySQL\MySQL servidor 5.5\data). Apenas corrigir o existente ou fazer backup antes de substituir.
Iniciar o servidor de mysql e verificar se recuperou com sucesso dado.
Para usar o banco de dados recuperado no meu servidor de mysql actualmente usado basta exportar o banco de dados recuperado e importá - lo Meu mysql existente servidor.
Se estiver a restaurar a pasta, não se esqueça de enviar os ficheiros para o mysql: mysql chown -R mysql:mysql /var/lib/mysql-data
caso contrário, irá obter erros ao tentar largar uma base de dados ou adicionar uma coluna nova, etc..
E reiniciar o MySQL
service mysql restart
Com MySql 5.1 (Win7). Para recriar DBs (InnoDbs) eu substituí todo o conteúdo das seguintes dirs (my.ini params):
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL Datafiles/"
Depois disso comecei o serviço MySql e tudo funciona bem.