先使用txt文档把下面内容复制进去,然后修改后缀.txt为.bat即可
@echo off
REM 设置输出中文编码格式
chcp 65001
REM 启用延迟变量扩展
setlocal enabledelayedexpansion
REM 获取当前日期时间作为文件名的一部分
for /f "tokens=1" %%a in ('wmic os get localdatetime ^| find "."') do set now=%%a
set now=%now:~0,8%%now:~8,6%
echo %now%
REM 设置数据库连接参数
set host=192.168.2.159
set port=3306
set user=root
set pass=123456
set dbname=tester_equipment_production_record
set foldername=new_backupDB_test_production_record
REM 创建主备份文件夹,如果不存在
set "mainfolder=F:\%foldername%"
if not exist "%mainfolder%" (
mkdir "%mainfolder%"
)
REM 获取数据库中的所有表
for /f "skip=1" %%t in ('mysql -h %host% -P %port% -u %user% -p%pass% -e "SELECT table_name FROM information_schema.tables WHERE table_schema='%dbname%';"') do (
set "tables=!tables! %%t"
)
REM 循环备份每个表
for %%t in (%tables%) do (
set "backupfolder=!mainfolder!\%%t\"
if not exist "!backupfolder!" (
mkdir "!backupfolder!"
)
set backupfile=!backupfolder!!dbname!_!now!.sql
"E:\MySQL Server 8.0\install\bin\mysqldump" -h!host! -P!port! -u!user! -p!pass! -c --add-drop-table !dbname! "%%t" > !backupfile!> !backupfile!
)
REM 执行完毕按下按钮才关闭窗口
pause
@echo on
注意:要确保MySQL安装目录(E:\MySQL Server 8.0\install\bin\mysqldump)bin文件下有mysqldump.exe 程序
1.打开任务计划程序
2.创建基本任务
3.填写任务名称和描述
4.选择每天下一步
5.设置每天执行的时间
6.选择启动程序下一步
7.浏览刚刚创建的.bat文件下一步
8.点击完成,等待刚刚设置的时间到了,就会运行了