My Computer · 2011/01/28 17

最简单的windows环境中实现mysql数据库自动备份

基本思路:写一个批处理,用mysqldump命令备份mysql数据库,然后用forfiles命令来保留n天内的备份文件。将这个批处理加入到系统自带的计划任务中。

实现过程:bat文件代码如下

::mysqldump文件在mysql程序目录中bin文件夹下
::基本用法 mysqldump -u 数据库用户名 -p密码注意这里没有空格 -附加参数 --database 需要备份的数据库名称 > 备份文件的存储路径及名称,我这里采用的是“数据库名_备份日期.sql”这种格式
::详细参数请用 mysqldump --help 来查看
::示例演示,如备份多个数据库可换行重复命令
mysqldump -u 用户名 -p密码 -l --database sims2heaven_cms > E:\Databse_Backup\sims2heaven_cms_%date:~0,4%%date:~5,2%%date:~8,2%.sql
::为节省存储空间,采用forfiles命令删除备份目录下最后修改日期在7天前的文件
::xp中不支持forFiles命令,把windows server 2003中的c:\windows\system32文件夹下的forFiles.exe复制到xp中c:\windows\system32文件夹下即可。
forfiles /p "E:\Databse_Backup" /d -7 /c "cmd /c echo deleting @file ... && del /f @path"

缺陷:在备份较大数据库时会占用很高的系统资源。

下载完整的bat文件