No tutorial de hoje vamos ensinar como restaurar a base de dados com arquivos da base via TABLESPACE.
Precisando de ajuda para configurar seu servidor ou na sua administração? Conheça os planos de gerenciamento da SOLOWEB, acesse: https://soloweb.com.br/gerenciamento
Primeiro passo:
Para que isso funcione, você precisa ter a estrutura da tabela.
Crie o banco de dados novo no servidor de destino:
CREATE DATABASE nome_da_base;
Lembre de criar a mesma estrutura, caso você não possua o arquivo sql com os comandos de criação de tabela.
Segundo passo:
Desvincular o Tablespace Vazio. O MySQL criou um arquivo .ibd novo e vazio para a tabela que você acabou de criar. Precisamos descartá-lo para usar o seu arquivo antigo.
ALTER TABLE nome_da_tabela DISCARD TABLESPACE;
Isso vai deletar o arquivo .ibd vazio da pasta /var/lib/mysql/basededados/.
Terceiro passo:
Agora, copie o seu arquivo .ibd original (aquele que você recuperou do backup/pasta antiga) para dentro da pasta do novo banco.
$ cp /caminho/do/backup/tabela.ibd /var/lib/mysql/nome_da_base/
$ chown mysql:mysql /var/lib/mysql/nome_da_base/tabela.ibd
$ chmod 660 /var/lib/mysql/nome_da_base/tabela.ibd
Importante: A permissão de dono (chown) para o usuário mysql é o que mais causa erro se for esquecida.
Quarto passo:
Agora com tudo copiado vamos ao comando de “Indexação” Importação das tabelas. Ele faz o MySQL ler o arquivo físico e registrar os índices e dados novamente no sistema.
ALTER TABLE nome_da_tabela IMPORT TABLESPACE;
Pronto com isso estamos finalizados, se você seguiu o tutorial a risca a chance do procedimento da certo será alta.
obs.: Lembre-se que as versões da base de dados tem que ser a mesma para que não ocorra algum problema de compatibilidade.
O arquivo .frm: Em versões antigas (MySQL < 8.0), o arquivo .frm guardava a estrutura. No MySQL 8.0, essa informação fica no dicionário de dados, tornando o processo de IMPORT TABLESPACE muito mais robusto.
obs².: Aviso de Segurança: Sempre recomende fazer um backup da pasta /var/lib/mysql inteira antes de começar, por segurança.
Precisando de ajuda para configurar seu servidor ou na sua administração? Conheça os planos de gerenciamento da SOLOWEB, acesse: https://soloweb.com.br/gerenciamento
