Fazendo backup de cada tabela no MySQL em um dump separado no WIndows


0

Eu tenho um banco de dados MySQL chamado 'abcd' e preciso executar um despejo para cada tabela usando um arquivo .bat no Windows.

Como posso combinar os seguintes

mysql -e "show tables from abcd" -u root --password=1234
mysqldump -u root --password=1234 %%tablename > S:\Backup\MySQL\%%tablename.sql

em um único arquivo bat para percorrer as tabelas?

Obrigado.


Qual o problema com a minha pergunta?
Sig

Respostas:


1

E algo assim?

mysql -e "mostra tabelas do abcd" -u root --password = 1234 & gt; tables.txt

FOR / F %% A IN (tabelas.txt) DO (mysqldump -u root --password = 1234 --routines --databases %% A & gt; S: \ Backup \ MySQL \ %% A.sql)

Eu não uso mais o windows, isso no Linux seria muito mais fácil. o / F lê o arquivo linha por linha, então você teria que fazer algumas modificações e voltar.


Obrigado pela resposta. Eu não quero listar manualmente as tabelas, mas usar o resultado de "show tables from abcd".
Sig

Dê uma olhada nisso. Eu editei a resposta.
Joe

Obrigado pela atualização. Estamos quase lá. O arquivo de tabelas é criado corretamente, mas há algo errado com o loop. mysqldump -u root --password=1234 users 1> users.sql. Observe o 1 antes >. obrigado
Sig

Isso é '1' vindo do arquivo .txt? tente algum ECHO %% A
Joe

Obrigado. Não o 1 não está no texto. O texto parece bem e também quando eu echo eu recebo os nomes da tabela sem 1.
Sig
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.