以前一直使用复制文件的方式来备份数据库文件,因为这种方式必须停止
mysql数据库,比较繁琐,数据量大后,停止
mysql的时间也变的很长,影响网站
优化,因而参考网上方法写了如下脚本,大鸟就不用看了,如有什么bug或好的方法请留言 !
代码如下 :
@echo off
cls
color 1E
title %date% %time:~,8% 备份MY
SQL数据库 BY:REKFAN
::::::::::::::::::::::::以下是需要配置的参数::::::::::::::::::::::::
rem 设置 MySql
服务器root账号的密码,特殊符号需要在其前添加两个^,如!、>、|、^、&、* 等 mysql 的root密码 默认为12345678
SET MySql_pw=12345678
rem 设置 数据库备份目录 默认为D:\usr\MY
SQL\mysql_db_bak
SET BAK_Dir=D:\usr\MYSQL\mysql_db_bak
rem 设置 需要备份的myisam格式数据库 默认数据库名称gcms
SET BAK_db_myisam=gcms
rem 设置 需要备份的innodb格式数据库 例如myisam_db1,myisam_db2,myisam_db3
SET BAK_db_innodb=innodb_1,innodb_2,innodb_3
rem 设置 自动删除几天的备份,0为删除所有默认为5天,慎用 innodb_1,innodb_2,innodb_3
SET Bak_Time_ago=5
rem 设置 WinRAR压缩软件的路径
SET RAR_Dir="C:\Program Files\WinRAR\WinRAR.exe"
rem 设置 以2001-01-01格式的日期为子目录
SET BAK_Dir2=%date:~0,4%-%date:~5,2%-%date:~8,2%
rem 设置 备份文件名
SET BAK_FILE=%%i_%BAK_Dir2%.sql
rem 设置 日志文件名
SET LOG_FILE=%BAK_Dir%\%BAK_Dir2%\MY_DBBAK.log
::::::::::::::::::::::::以上是需要配置的参数::::::::::::::::::::::::
echo. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
echo. ┃ ┃
echo. ┃ 欢迎使用Mysql自动备份批处理 ┃
echo. ┃本代码由
黑客防线网安棋子儿编写 Http://www.rongsen.com.cn ┃
echo. ┃ ┃
echo. ┃ …………………………………………………………………………………… ┃
echo. ┃ 关于本脚本 ┃
echo. ┃ ::本脚本只需自定义MySql_pw、BAK_Dir、Bak_Time_ago、RAR_Dir的值 ┃
echo. ┃ ::本脚本调用了临时VBS代码进行日期计算 ┃
echo. ┃ ::本脚本为兼容不同的日期格式
,调用reg命令,统一设置日期格式 ┃
echo. ┃ ::本脚本自动生成数据库.sql脚本
,并自动压缩为.rar文件 ┃
echo. ┃ ::本脚本自动生成日志文件在x:\xxxx\0000-00-00\MY_DBBAK.log ┃
echo. ┃ ::本脚本数据库备份路径为x:\xxxx\0000-00-00\数据库名_0000-00-00.rar┃
echo. ┃ ::本脚本如果想放在windows计划任务里执行,请去掉脚本里的所有pause ┃