backup

@echo off
set errorlevel=0
set path_home_mysql="D:\Program Files\MySQL\MySQL Server 5.1"
set path_bin_mysql=%path_home_mysql%\bin

set opt_mysql=--add-drop-database --add-drop-table
set database_backup=mysql
set database_mysql=--databases %database_backup%

set user_mysql=root
set password_mysql=123456

set backup_dir=%path_home_mysql%\db_backup
set backup_file=%backup_dir%\%database_backup%_backup_%date:~0,10%.sql

dir %backup_dir% || echo make dir &mkdir %backup_dir%

IF EXIST %backup_file% ( del %backup_file% &echo %backup_file% is deleted)

echo backup mysql database:%database_backup%
%path_bin_mysql%\mysqldump -u%user_mysql% -p%password_mysql% %database_mysql% %opt_mysql% > %backup_file%

echo end backup
pause




d:\mysql\bin\mysqldump -uroot -pcreymm --all-databases > d:\mysql\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%.sql
把password替换为你的密码,然后存成backup.cmd 或者 backup.bat 就可以按日期存储备份了
d:\mysql\bin\mysqlcheck --all-databases --auto-repair -uroot -pcreymm 把password替换为你的密码,然后存成repair.cmd 或者 repair.bat 就可以修复所有数据库了


mysqldump -uroot -p --all-databases > d:\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%.sql


如果要用到IP地址,端口号的话

cd C:\Program Files\MySQL\MySQL Server 4.1\bin
mysqldump.exe -h127.0.0.1 -uroot -padmin!@# -P3307 -t plonesite >d:\plonesite-%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%.sql















代码如下:

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
md "E:\数据备份\%ymd%"
"D:\MySQL\bin\mysqldump.exe" --opt -Q mysql -uroot -p123456789 > E:\数据备份\%Ymd%\mysql.sql
REM ..... 这里可以添加更多的命令,要看你有多少个数据库,其中 -Q 后面是数据库名称 -p紧跟后面是密码
echo Winrar loading...
"C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -r -o+ -m5 -df "E:\数据备份\%Ymd%.rar" "E:\数据备份\%Ymd%"
echo OK!

把上面的命令保存为 backup.bat ,双击运行,就开始备份数据了。
第一句是建立一个变量 %Ymd% ,通过 %date% 这个系统变量得到日期,%date:~,4% 表示取日期的前面4个字符就是年份,%%date:~5,2% 表示取日期第5个字符开始的2个字符就是月份,%date:~8,2% 这个就是日期号数,如 2009-06-20 这个日期最后得到的结果是 20090620
第二句就是使用变量 %Ymd% 的值建立一个空的文件夹。
第三句开始就是使用MySQL的命令对数据库mysql进行备份,并存储在 E:\数据备份\%ymd% 这个文件夹下面,这里可以有很多类似的命令,备份多个数据库。
最后就是使用 WinRAR 对备份的数据进行压缩,并存储为以 %Ymd% 变量值建立的RAR文件名,同时删除备份的 %Ymd% 目录。
如果你想让系统自动定期备份,就可以通过系统的任务计划定期执行这个命令



















=========================================================
@echo off
set txt1=%date:~0,4%
::当前年
set txt2=%date:~5,2%
::当前月
set txt3=%date:~8,2%
::当前日
set txt4=%time:~0,2%
::当前小时
set txt5=%time:~3,2%
::当前分钟
set txt6=%time:~6,2%
::当前秒
set date=%txt1%%txt2%%txt3%
set time=%txt4%%txt5%%txt6%

echo MySQL Database backup
echo about 10 minutes 
echo don't close this window
echo it will close by itself

echo output Database
::备份dy_sfv1_0数据库
ECHO 开始备份dy_webbbs1_0数据库
::if exist %date%%time%.sql del %date%%time%.sql
"E:\dyinstall\MySQL\MySQL Server 5.0\bin\mysqldump" --add-drop-table -c -u root -pwebsf2008 dy_webbbs1_0 > "D:\MySQLData\%date%%time%.sql"

"E:\dyinstall\WinRAR\rar" a "D:\MySQLData\%date%%time%.sql.rar" "D:\MySQLData\%date%%time%.sql"
del "D:\MySQLData\%date%%time%.sql"

::备份dy_dengthiefv1_0数据库
ECHO 开始备份dy_dengthiefv1_0数据库
"E:\dyinstall\MySQL\MySQL Server 5.0\bin\mysqldump" --add-drop-table -c -u root -pwebsf2008 dy_dengthiefv1_0 > "D:\MySQLData\dy_dengthiefv1_0\%date%%time%.sql"

"E:\dyinstall\WinRAR\rar" a "D:\MySQLData\dy_dengthiefv1_0\%date%%time%.sql.rar" "D:\MySQLData\dy_dengthiefv1_0\%date%%time%.sql"

del "D:\MySQLData\dy_dengthiefv1_0\%date%%time%.sql"

::备份dy_filev1_0数据库
ECHO 开始备份dy_filev1_0数据库
"E:\dyinstall\MySQL\MySQL Server 5.0\bin\mysqldump" --add-drop-table -c -u root -pwebsf2008 dy_filev1_0 > "D:\MySQLData\dy_filev1_0\%date%%time%.sql"

"E:\dyinstall\WinRAR\rar" a "D:\MySQLData\dy_filev1_0\%date%%time%.sql.rar" "D:\MySQLData\dy_filev1_0\%date%%time%.sql"

del "D:\MySQLData\dy_filev1_0\%date%%time%.sql"

echo backup is successful!
echo 按任意键退出
pause
















=========================================
在升级刚上班时做的一个小系统,看到了当时设计的一个数据库备份方案,记录下来,以后可以回顾(windows下)

先做一个BAT,然后设定到计划任务内,定时执行:
Java代码  收藏代码

    echo off 
    c: 
    cd c:\Program Files\MySQL\MySQL Server 5.0\bin\ 
    mysqldump --host=localhost --user=root --password=root rp > e:\backup\%date% 

恢复的脚本:
Java代码  收藏代码

    mysql --host=localhost --user=root --password=root rp < e:\backup\2008-09-10  

 

由于该系统的数据比较重要,组长要求我做个备份体系,当时就草草地搞出了这个方案,不知道是不是很业余,不过挺实用的,然后用户上传的重要文件使用服务器的磁盘备份,指定该文件夹定期备份

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值