Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Backup MySQL de uma tabela usando bat

Recommended Posts

Olá pessoal,

 

No meu sistema fiz comque gerasse um arquivo bat que faz o backup de toda a base de dados em MySQL que é gerado logo ao sair. A cada dia da semana é criado um arquivo de backup. Agora preciso fazer o mesmo bat para gerar o backup das tabelas individualmente.

 

Atualmente meu sistema gera o seguinte arquivo bat e o executa:

 

mysqldump.exe -B -c --single-transaction --default-character-set=latin1 conacc -u USUARIO --password="SENHA" --port=3306 -h SERVIDOR > 2_BKP_conacc_segunda-feira.sql

 

Mas como posso aproveitar esse arquivo para fazer apenas de uma tabela específica?

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Para efetuar o backup de uma tabela especifica coloque o nome da tabela ao lado direito do nome do banco de dados.

 

No Linux seria assim:

 

mysqldump -uusuario -psenha meubd minhatabela > backup.sql

 

No seu caso, acredito que seria assim:

 

mysqldump.exe -B -c --single-transaction --default-character-set=latin1 conacc minhatabela -u USUARIO --password="SENHA" --port=3306 -h SERVIDOR > 2_BKP_conacc_segunda-feira.sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Anderson,

 

Primeiro agradeço sua atenção. Eu utilizao Windows e já tentei fazer o script da mesma forma que você postou mas ele faz de toda a base. Existe uma forma de se fazer isso via sql, por exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém tem mais alguma sugestão???

Preciso automatizar os backups dos bancos de dados (MySQL) utilizados em minha aplicação Delphi 7 e preciso que sejam feitos tabela a tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que sua dúvida está mais ligada a área de BD do que ao Delphi... de todo modo, fiz uma rápida pesquisa e achei o comando abaixo neste link: http://fabioalvaro.blogspot.com.br/2014/01/comando-mysql-mais-usados-diretamente.html

 

 


Fazer o backup de uma tabela de uma base de dados.

[mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql

 

Considerando o código que postou, pela estrutura postada neste blog que citei, acredito que seu bat ficaria algo do tipo:

 

 


mysqldump.exe -B -c --single-transaction --default-character-set=latin1 conacc -u USUARIO --password="SENHA" --port=3306 -h SERVIDOR > 2_BKP_conacc_segunda-feira.TabelaASerGeradoOBackup.sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Chrnos,

 

Também não deu certo. Ele cria de toda a base.

 

Agora, se eu fizer o bat como abaixo:

 

mysqldump.exe -B -c --single-transaction --default-character-set=latin1 conacc.NOME_DA_TABELA -u USUARIO --password="SENHA" --port=3306 -h SERVIDOR > 2_BKP_conacc_segunda-feira.sql

 

Ele faz apenas o cabeçalho e termina aí:

 

 

-- MySQL dump 10.10
--
-- Host: meu_servidor Database: conacc.d_alunosdet
-- ------------------------------------------------------
-- Server version 5.5.32-0ubuntu0.12.04.1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES latin1 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

 

 

Se alterar o script para:

 

mysqldump.exe -B -c --single-transaction --default-character-set=latin1 conacc NOME_DA_TABELA -u USUARIO --password="SENHA" --port=3306 -h SERVIDOR > 2_BKP_conacc_segunda-feira.sql

 

Faz de toda a base.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda acho que o problema está nos parâmetros que está enviando para o MySQL no Dump... Pelo que vejo nos exemplos que postei abaixo, talvez o erro esteja nos parâmetros. Por exemplo, nos links abaixo é postado assim:

 

 

Using mysqldump to dump all data from the table would look like this, subsituting [username] for your username (the -t flag suppresses the table creation sql from the dump):
 
mysqldump -t -u [username] -p test mytable

 

Mas como não sou especialista em MySQL, vou postar outros links que li a respeito do assunto e sugerir que algum moderador mova este tópico para a área de MySQL.

Selectively dumping data with mysqldump

http://www.electrictoolbox.com/mysqldump-selectively-dump-data/

 

Dump and Restore a Single Table from MySQL: http://stackoverflow.com/questions/6682916/how-to-backup-a-single-table-in-a-mysql-database

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.