mysql定时备份

用命令行创建mysql_backup.sh文件
vi mysql_backup.sh

#!/bin/bash
# mysql 数据库全量备份

# 用户名、密码、数据库名
username=""
password=""
dbName="shop_all"

beginTime=`date "+%Y年%m月%d日 %H:%M:%S"`
#备份目录
bakDir=/opt/mysql/backup
#日志文件
logFile=/opt/mysql/backup/bak.log
#备份文件
nowDate=`date +%Y%m%d-%H%M`
dumpFile="${dbName}_${nowDate}.sql"
gzDumpFile="${dbName}_${nowDate}.sql.tgz"

cd $bakDir
#全量备份
#/usr/bin/mysqldump -u${username} -p${password} --databases ${dbName} --flush-logs --single-transaction > $dumpFile

/usr/bin/mysqldump -u${username} -p${password} --all-databases --flush-logs --single-transaction > $dumpFile
#打包
/bin/tar -zvcf $gzDumpFile $dumpFile
/bin/rm $dumpFile

endTime=`date "+%Y年%m月%d日 %H:%M:%S"`
echo 开始:$beginTime 结束:$endTime $gzDumpFile succ >> $logFile

设置每天凌晨5点定时执行备份计划。

运行命令
crontab -e
输入
0 5 * * * sh /home/mysql/mysql_backup.sh
开启备份:
service crond start

上面是linux备份计划
接下来是windows备份计划
新建mysql_backup.bat文件

@echo off
 
echo 设置MySql数据库的连接信息
set host=127.0.0.1
set port=3306
set user=
set pass=
 
echo 设置要备份的MySql数据库名称
set dbname=manage_system
 
echo 获取当天的日期格式,例如:20221102231300
 
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
 
set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%
 
 
echo 设置备份文件的路径 (注意路径!!!)
set backupfile=E:\mysql_bak\%dbname%_backup_%backup_date%.sql
 
echo 使用mysqldump对指定的MySql进行备份
echo 注意mysqldump实际路径(注意路径!!!)
 
"E:\MySQL\mysql-5.7.44\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
 
echo 删除过期文件,这里是超过30天就删除(注意路径!!!)
 
forfiles /p E:\mysql_bak /s /m *.sql /d -30 /c "cmd /c del @file /f"

2、创建定时任务

控制面板->管理工具->任务计划程序->创建基本任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值