例如mysql数据库有200个数据库,如下
data
--database1
--database2
--database3
--database4
--database5
--database6
.....................
.....................
.....................
--database200
逐个的手动备份每个数据库很费时间
希望可以改进如下改进:
1、每个数据库备份文件对于数据库名字例如database1备份成database1.sql; database2备份成database2.sql?
2、怎样将还有innodb引擎的表的数据库选出来,单独备份为sql呢?
3、压缩备份的sql文件,减少占用硬盘空间
4、如果备份文件太大,将备份文件分成多个小文件?
求、可以满足上面需求的软件,或者自动化的脚本写法更佳,多谢了。
data
--database1
--database2
--database3
--database4
--database5
--database6
.....................
.....................
.....................
--database200
逐个的手动备份每个数据库很费时间
希望可以改进如下改进:
1、每个数据库备份文件对于数据库名字例如database1备份成database1.sql; database2备份成database2.sql?
2、怎样将还有innodb引擎的表的数据库选出来,单独备份为sql呢?
3、压缩备份的sql文件,减少占用硬盘空间
4、如果备份文件太大,将备份文件分成多个小文件?
求、可以满足上面需求的软件,或者自动化的脚本写法更佳,多谢了。
@ECHO ON
set d=%date:~0,4%%date:~5,2%%date:~8,2%
set t=%time:~0,8%
set stamp=%p%%d%
set bakupfolder=E:\DatabaseBackup\
rem 1按子目录保存备份文件;0不按
set lay_in_subfolder=1call :backup1 testgoto :EOF @ECHO OFF:backup1
setlocal
echo %1
set dbname=%1
if not exist %bakupfolder%%dbname% mkdir %bakupfolder%%dbname%if %lay_in_subfolder%==1 (
set subfolder=%dbname%\
)else set subfolder=
rem echo %bakupfolder%%subfolder%%dbname%%stamp%.sql
mysqldump -uroot -p‘password' -B test > %bakupfolder%%subfolder%%dbname%%stamp%.sql
"C:\Program Files\WinRAR\RAR.exe" a -ep1 -r -o+ -m5 -s -df "%bakupfolder%%subfolder%%dbname%%stamp%".rar "%bakupfolder%%subfolder%%dbname%%stamp%.sql"endlocal&goto :EOF