只要使用数据库,一定要做好定时备份,不怕一万,就怕万一。sql server的定时备份可以在sql代理里边新建作业计划完成,而oracle 和 mysql 一般都是通过windows的任务计划完成。今天主要复习下mysql数据库的定时备份,备份主要分三步:
1.制作bat脚本文件 ,准备好数据库的账号密码,在D盘新建db_bak文件夹,以及压缩软件。具体脚本内容如下
@echo off
@echo 开始备份数据库
set hour=%Time:~0,2%
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%
set host=localhost
set port=3306
set user=root
set pass=1234
set dbname=xahs
set back_path=D:\db_bak\
set backupfile=%back_path%\%dbname%-%now%.sql
"D:\mysql\mysql-5.7.32-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
PUSHD "C:\Program Files\7-Zip"
ECHO 开始压缩...
7z a -tzip D:\db_bak\%dbname%-%now%.zip %backupfile%
ECHO 压缩完成!
@echo 数据库备份成功 //命令行窗口中显示此条信息
以上脚本,先将数据库备份完成,然后再用压缩软件直接压缩,方便存储,占用空间也少。这里要注意下msyqldump的路径,如果找不着就看下msyql服务上边有,这个路径不能带有中文。

这是我的MySQL路径,注意这个路径不能带有中文
2.添加任务计划程序,这里以win7系统为例(windows系统操作都是一样的)
打开控制面板—管理工具—任务计划程序,按下图操作

新建任务

备份任务名称

设定备份时间,我这里设置是23:00

添加脚本
其他的条件,设置根据自己情况而定。完成后切记要保存。
3.到db_bak里检查备份文件 ,如图

db_bak文件夹
可以看到,我刚才设置23:00的备份,压缩之后占用空间很小。一般每天备份一次就可以了,当然也可以触发器里设置多个时间点备份。