用批处理实现自动备份和清理mysql数据库的代码 |
本文标签:自动备份,清理,mysql数据库 有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本 。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的“任务计划”功能,设定一个时间,让系统定时跑脚本,不就实现了自动备份数据库的功能了吗? 复制代码 代码如下: @echo on REM------------------------backup bugdb which is InnoDB----------------------------- del C:/backup/website/bugdb_*.sql cd F:/usr/wamp/mysql/bin set year=%date:'0,4% set month=%date:'5,2% set day=%date:'8,2% set filename=bugdb_%year%%month%%day%.sql mysqldump.exe bugdb -uroot -p123456 > F:/backup/website/%filename% @echo off 第9行 也可以换成 set filename=bugdb%date:'0,10%.sql 依次解释一下每句代码的意思: •第四行:删除指定目录下的文件名包含有“bugdb_”字样的sql文件 。因为这个代码是我先前写的,在公司的服务器上每天晚上跑一次 。所以每次备份之前,先删除头天已备份成功的文件 。 1.mysqldump.exe "要备份的数据库名" -u(接用户名) -p(接密码) > "备份文件存放的路径及文件名" 其中“>”的作用是输出重定向,即把mysqldump.exe备份的数据输出到一个文件里并保存 。 将以上脚本复制到一个文本文件里,并另存为*.bat,如backup.bat的批处理文件,接下来会要用到该文件,我把它存在D:/scripts/backup_bugdb.bat 。 打开“控制面板”里的“任务计划”,新建一个计划任务: 复制代码 代码如下: D:/html/wamp/mysql/bin/mysql.exe -uroot -p123456 --default-character-set=utf8 bugdb < F:/bugdb_20100312.sql |