批量导出多个mysql数据库

时间:2013-05-11 20:40:44

标签: shell batch-file ssh mysqldump database-backups

我正在尝试在我的网络服务器上备份我的15个MySQL数据库。随着我的(希望!)不断增加的客户群,这个数据库列表将继续增长。

显然,我可以使用此命令执行mysql转储:

mysqldump --add-drop-table -h host -u username -p"password" databasename > filename.sql

我的问题是,有没有办法批量导出MySQL数据库(同样,批量导入)?我是否被迫单独备份每个数据库?

事实上,我想编写脚本,所以我每天只需运行一个.bat文件即可。我在网上找到了这个网站(来自这个网站 - http://www.dougboude.com/blog/1/2009/09/7A.Batch-Script-to-Backup-MySQL-Database.cfm):

@echo off
for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i
rem Killing all files older than a week old...
forfiles /D -8 /M *.zip /C "cmd /c del @fname.zip"
"C:\mysql\bin\mysqldump" -u username -p"password" dbname >C:\mysqlbackup\%DATE_DAY%_%DATE_TIME%_database.sql
wzzip C:\mysqlbackup\%DATE_DAY%_%DATE_TIME%_database.zip C:\mysqlbackup\%DATE_DAY%_%DATE_TIME%_database.sql -mex

我是否需要为每个数据库复制/粘贴此脚本?

我是SSH和shell命令的新手,所以非常感谢任何帮助!感谢。

1 个答案:

答案 0 :(得分:1)

答案是将-all-databases添加到我的mysqldump命令:mysqldump -u username -ppassword –all-databases > dump.sql

刚刚将我的谷歌搜索词改进为"批量导出mysql数据库"并找到了这个网站:http://www.mydigitallife.info/how-to-backup-and-restore-export-and-import-mysql-databases-tutorial/