定时备份mysql数据库脚本

大部分客户(甲方爸爸)都需要我们提供备份数据库功能

我采用的是利用mysql的mysqldump的命令来备份数据,再利用windows的任务功能进行定时备份与删除,如下:

@echo off
forfiles /p "E:\mysql\MySQL BackUp" /m *.sql -d -7 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "databases" > "E:\mysql\MySQL BackUp\databases_%Ymd%.sql"
@echo on

1.forfiles /p "E:\mysql\MySQL BackUp" /m *.sql -d -7 /c "cmd /c del /f @path" 是删除E:\mysql\MySQL BackUp目录下的所有已经备份.sql文件。-7是删除7天前备份的(相当于保留7天)。

2.set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%" 是设置一个时间格式为yyyyMMdd的变量,下文用到(此变量因人而异不用也可)。

3."C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "mysql" > "E:\mysql\MySQL BackUp\greenyoung_v4_%Ymd%.sql"  是利用mysql自带的mysqldump命令备份数据库,此处需要各自修改的user、password、host、port、databases以及mysql安装路径与备份的文件路径

[email protected] off @echo off  固定格式值

若要备份多个数据库,此处采用的是多写几个备份命令,即第三步,感觉有点累赘。

然后就是将文件的后缀名改成.bat。

接下来就是将脚本添加到windows的定时任务里面去

1.找到windows的任务计划程序(不会的可以百度)

 

定时备份mysql数据库脚本

2.创建任务

定时备份mysql数据库脚本

定时备份mysql数据库脚本

定时备份mysql数据库脚本

定时备份mysql数据库脚本

定时备份mysql数据库脚本

定时备份mysql数据库脚本

到此处以全部完成