我单位有一台windows服务器上面搭建MySQL数据库,然后要进行定时备份。bat.脚本写好以后手动双击测试多遍正常上传备份文件,可每当计划任务去执行的时候往往出错。
方法一直接备份数据库文件
net stop mysql
xcopy D:\xampp7\mysql\data\rensheng1981\*.* D:\db_bak\%date:~0,4%-%date:~5,2%-%date:~8,2%\ /y
net start mysql
方法二、备份成sql 并删除30天前的备份
rem ******MySQL backup start********
@echo off
forfiles /p "C:\bak" /m backup_*.sql -d -30 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306--default-character-set=utf8 --single-transaction=TRUE --routines --events "trswcmv7" > "C:\bak\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********
以上两种方法都可以备份数据库
解决方法:
1.保证以最高权限运行!
2.这里是重点,在起始于一定要填写脚本目录(不然就会出现定时执行不生效)
4.最终达到想要的目的了(定时执行脚本数据库备份上传成功)