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

显然,我可以使用以下命令执行mysql dump:

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命令的新手,因此非常感谢您的帮助!谢谢。

最佳答案

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

刚刚将我的Google搜索字词细化为“大量导出mysql数据库”,并找到了以下网站:http://www.mydigitallife.info/how-to-backup-and-restore-export-and-import-mysql-databases-tutorial/

关于shell - 批量导出多个mysql数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16501516/

10-17 03:05