利用任务计划和bat脚本备份Mysql数据库

14 篇文章 1 订阅

rem *******************************备份数据库开始*****************************
@echo off

%注释内容:计算昨天日期(网上抄的)%
set YE=%date:~0,4%
set MO=%date:~5,2%
set DA=%date:~8,2%
set DG=1
set/a vY1=%YE% %% 400
set/a vY2=%YE% %% 4
set/a vY3=%YE% %% 100
if %vY1%==0 (set var=true) else (if %vY2%==0 (if %vY3%==0 (set var=false) else (set var=true)) else (set var=false))
set LY=%YE%
set LM=%MO%
if %MO:~0,1%==0 (set MO=%MO:~1,1%)
if %DA:~0,1%==0 (set DA=%DA:~1,1%)
if %DA% GTR %DG% (set/a LD=%DA%-%DG%) else (
if %MO%==1 (set/a LY=%YE%-1) & (set/a LM=12) & (set/a LD=31+%DA%-%DG%) else (
set/a LM=%MO%-1
if %MO%==3 (if %var%==false (set/a LD=28+%DA%-%DG%) else (set/a LD=29+%DA%-%DG%))
for %%a in (2 4 6 8 9 11) do (if "%MO%"=="%%a" (set/a LD=31+%DA%-%DG%))
for %%b in (5 7 10 12) do (if "%MO%"=="%%b" (set/a LD=30+%DA%-%DG%))))
if %LM% LSS 10 set LM=0%LM:~-1%
if %LD% LSS 10 set LD=0%LD:~-1%
set strLstDt=%LY%%LM%%LD%

%注释内容:设置路径 数据库名字%

set "bakpath=D:\DataBak"
set "bakdata=cmh"
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

@echo 删除昨天数据库为 %bakpath%\data_%bakdata%_%strLstDt%.sql
del /f /s /q %bakpath%\data_%bakdata%_%strLstDt%.sql
@echo 备份的路径为 %bakpath%
@echo 备份的数据库为 %bakdata%
@echo 备份的完整文件名 %bakpath%\data_%bakdata%_%Ymd%.sql

C:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqldump --opt -u root --password=****** %bakdata% > %bakpath%\data_%bakdata%_%Ymd%.sql
@echo on
rem *******************************备份数据库结束*****************************
 

保存bat,利用Windows任务计划定时运行。

使用密码不安全

using a password on the command line interface can be insecure

mysqldump: [Warning] Using a password on the command line interface can be insec
ure.

网上说ini文件加入:

[mysqldump]
user=root
password=密码

如果端口发生变化 要加入端口 -P33306  大写P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值