Seção 1: Introdução

Restaurar uma única tabela de um backup completo do MySQL é uma habilidade valiosa, especialmente quando apenas uma única tabela é comprometida, e o restante do banco de dados está intacto. Neste artigo, vamos discutir como extrair uma tabela específica de um backup completo e restaurá-la.

Seção 2: Entendendo o backup completo

Um backup completo do MySQL contém todas as instruções SQL necessárias para reconstruir todo o banco de dados. No entanto, se apenas uma tabela específica precisa ser restaurada, não é eficiente restaurar todo o banco de dados. Para isso, precisamos extrair a tabela específica do backup completo.

Seção 3: Extraindo a tabela do backup

Podemos usar as ferramentas de linha de comando grep, sed e awk no Linux para extrair uma tabela específica de um arquivo de backup completo. Vamos supor que temos um backup completo e queremos extrair a tabela customers.

# Obtemos a linha de início da tabela que desejamos extrair.
start=$(grep -n -m 1 'Table structure for table `customers`' backup.sql | cut -d ":" -f 1)

# Obtemos a linha de fim usando o comando 'awk'.
end=$(awk -v start=$start '/UNLOCK TABLES;/ {if (NR > start) {print NR; exit}}' backup.sql)

# Agora usamos o 'sed' para extrair as linhas de início a fim no arquivo de backup e direcionamos para o novo arquivo .sql.
sed -n "$start,$end p" backup.sql > customers.sql

O comando acima irá extrair a estrutura da tabela customers e suas linhas de dados associadas do arquivo de backup completo.

Seção 4: Restaurando a tabela

Depois de extrair a tabela do arquivo de backup, a restauração é simples.

# Primeiro, acesse o MySQL.
mysql -u username -p

# Selecione o banco de dados.
mysql> USE database_name;

# Restaure a tabela.
mysql> source /path/to/customers.sql;

Note que o método acima assume que cada seção de tabela no seu arquivo de dump está encapsulada por ‘Table structure for table customers‘ e ‘UNLOCK TABLES;’. Se não for esse o caso, o método pode não funcionar corretamente. Este é apenas um exemplo simplificado e a maneira exata pode variar dependendo do conteúdo exato do seu arquivo de dump.

Sobre o autor

Pós graduado em Gestão de Projetos em Tecnologia da Informação pela UNIASSELVI.
Esposo e Pai, curto atividades ao ar livre (Bike, SUP, Natação, Caminhar, Brincar no campo)

Atua com Banco de Dados Oracle desde de 2007. Atualmente é DBA Senior na FLUIDATA Serviços em Banco de dados (www.fluidata.com.br)

Principais atividade Banco de dados:

Implementação, migração, gerenciamento e suporte a produtos Oracle (8i, 9i, 10g, 11g, 12c, 18c, 19c RAC), multiplataforma;
Implementação, migração, gerenciamento e suporte a produtos Microsoft SQL Server (2008 - 2019);
Implementação, migração, gerenciamento e suporte a produtos PostgreSQL (9.3 - 14);
Monitoramento de ambientes 24×7;
Backup e Recovery;
Performance e Tuning;
Alta disponibilidade (HA);
EM database/grid/cloud control;
Conversão de databases;
Standby database / Oracle Data Guard;

Certificações:

Oracle Cloud Infrastructure 2019 Certified Architect AssociateOracle Cloud Infrastructure 2019 Certified Architect Associate
Oracle Database 12c Administrator Certified ProfessionalOracle Database 12c Administrator Certified Professional
Exadata Database Machine Models X2-2 and X2-8 Technology Support SpecialistExadata Database Machine Models X2-2 and X2-8 Technology Support Specialist
Oracle Database 11g Support SpecialistOracle Database 11g Support Specialist
OCP 11g - Oracle Certified Professional AdministratorOCP 11g - Oracle Certified Professional Administrator
OPN Certified Specialist 10g - PartnerNetwork Certified SpecialistOPN Certified Specialist 10g - PartnerNetwork Certified Specialist
Oracle Database 10g Real Applications Clusters AdministratorCertified ExpertOracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Database 10g: Managing Oracle on Linux Certified ExpertOracle Database 10g: Managing Oracle on Linux Certified Expert
OCP 10g - Oracle Certified Professional AdministratorOCP 10g - Oracle Certified Professional Administrator

Principais atividades DEVOPS:

PHP
ASP.net
C#
Docker
Golang
C++
Delphi
Python
HTML5
JavaScript

Você também pode gostar: