Posso falar que fazer gerar backup de apenas uma tabela específica em um banco de dados é importante por várias razões. Particularmente, acho que o mais importante quando precisamos restaurar apenas uma parte específica do banco de dados, sem afetar o restante das informações. Isso pode economizar tempo e minimizar o impacto de eventuais problemas.

A minha necessidade nesse momento, e que me faz escrever esse post, é aproveitar uma página de login que tenho já pronta e para isso preciso também somente da tabela “usuarios” e não de todo o banco de dados.
Outro fator importante é fazer o backup de apenas uma tabela em situações em que você está realizando alterações significativas nessa tabela e deseja ter um ponto de restauração específico, sem interferir nas demais partes do banco de dados.
Vamos ver como usar mysqldump para gerar backup apenas de uma tabela e como restaurar essa tabela em outro banco de dados.
Gerando backup apenas de uma tabela com mysql
O comando mysqldump é a ferramenta de linha de comando que usaremos para criar backups da tabela de um bancos de dados MySQL.
Nesse post aprendemos a fazer backup de todo o banco de dados: MySQL e MariaDB: Criando e Restaurando Backup com mysqldump
Veja um exemplo de como você pode usar o mysqldump para gerar um backup de uma tabela específica:
mysqldump -u SEU_USUARIO -p SUA_SENHA --databases SEU_BANCO_DE_DADOS --tables SUA_TABELA > caminho/para/o/arquivo/backup_tabela.sql
Vamos explicar partes dessa linha:
-u SEU_USUARIO: SubstituaSEU_USUARIOpelo nome de usuário do MySQL.-p SUA_SENHA: SubstituaSUA_SENHApela senha do usuário do MySQL. Se não houver senha, você pode remover este parâmetro.--databases SEU_BANCO_DE_DADOS: SubstituaSEU_BANCO_DE_DADOSpelo nome do banco de dados que contém a tabela que você deseja fazer backup.--tables SUA_TABELA: SubstituaSUA_TABELApelo nome da tabela que você deseja fazer backup.> caminho/para/o/arquivo/backup_tabela.sql: Redireciona a saída do comando para um arquivo SQL. Substituacaminho/para/o/arquivo/backup_tabela.sqlpelo caminho e nome do arquivo desejado
Olha um exemplo mais prático:
mysqldump -u root -p --databases meubanco --tables users > ~/Downloads/users.sql
Restaurando a tabela em outro banco de dados
Podemos restaurar uma tabela em outro banco de dados usando o arquivo SQL gerado pelo mysqldump do passo acima. Usamos o comando mysql.
mysql -u SEU_USUARIO -p SUA_SENHA -h SEU_HOST NOVO_BANCO_DE_DADOS < caminho/para/o/arquivo/backup_tabela.sql
Vamos entender trechos dessa linha:
-u SEU_USUARIO: SubstituaSEU_USUARIOpelo nome de usuário do MySQL.-p SUA_SENHA: SubstituaSUA_SENHApela senha do usuário do MySQL. Se não houver senha, você pode remover este parâmetro.-h SEU_HOST: SubstituaSEU_HOSTpelo host do servidor MySQL. Se estiver sendo executado localmente, você pode usarlocalhost.NOVO_BANCO_DE_DADOS: SubstituaNOVO_BANCO_DE_DADOSpelo nome do novo banco de dados para o qual você deseja restaurar a tabela.< caminho/para/o/arquivo/backup_tabela.sql: Redireciona o conteúdo do arquivo SQL para o comandomysql.
Novamente, segue exemplo mais prático para entendermos:
mysql -u root -p meu_outro_banco < ~/Downloads/users.sql
Comment on “SQL: Como Fazer Backup de Apenas uma Tabela do Banco de Dados?”