我正在尝试在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/