批处理文件的mysqldump备份每个数据库到一个单独的文件 [英] Batch-file for mysqldump to backup each database into a separate file

查看:151
本文介绍了批处理文件的mysqldump备份每个数据库到一个单独的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

试图为每个数据库备份到一个单独的文件中的批次(CMD)文件。
数据库创建/删除的时候,所以批处理文件需要它运行到每次抓取当前数据库的名称和备份他们中的每一个。

Trying to create a batch (cmd) file for backing up each database into a separate file. Databases are created/deleted often, so batch file needs to grab current db names everytime it runs and backup each one of them.

下面是我希望它是:

mysql -e "show databases" -u root --password=1234
mysqldump %dbname% -u root --password=1234 > S:\Backup\MySQL\%dbname%.sql

是否有可能在一个批处理文件?

Is it possible to do in a batch file?

请帮忙。谢谢你。

推荐答案

这可以直接在cmd中运行(我包了线,但它不应该被包裹):

This can be run directly in cmd (I wrapped the line but it should not be wrapped):

mysql.exe -uroot -p1234 -s -N -e "SHOW DATABASES" |
  for /F "usebackq" %D in (`findstr /V "information_schema performance_schema"`)
    do mysqldump %D -uroot -p1234 > S:\Backup\MySQL\%D.sql

在你需要一个额外%逃脱%的批处理文件,即使用 %%ð

In a batch file you will need to escape % with an additional %, that is use %%D.

批处理文件

mysql.exe -uroot -p1234 -s -N -e "SHOW DATABASES" |
  for /F "usebackq" %%D in (`findstr /V "information_schema performance_schema"`)
    do mysqldump %%D -uroot -p1234 > S:\Backup\MySQL\%%D.sql

这篇关于批处理文件的mysqldump备份每个数据库到一个单独的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆