windows下mysql定时备份及清理binlog
定期备份使用的是mysqldump
bat脚本如下
[code]@echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" "C:\Program Files\MySQL\MySQL Server 5.7\bin"\mysqldump -uroot --flush-logs -P3306 --master-data=2 --single-transaction --routines --triggers --events --databases blockchain_trade -p123456 > E:\moni_%Ymd%.sql @echo on
先设置时间变量用于给备份文件命名
然后是binlog日志,这东西时间久了不注意跟滚雪球一样变的灰常大,有过使用binlog恢复数据的情况,没做日志切割,位置节点根本找不到,看的眼睛生疼。所以还是定期刷新和清理一下binlog比较好。
bat脚本如下
[code]@echo off mysql -uroot -p123456 -e "flush logs; forfiles /p "E:\mysql-data\Data" /m mysql-bin.* /d -7 /c "cmd /c del @file /f" @echo on
CMD窗口键入 "FORFILES /?" 以了解用法。
参数列表:
/P pathname 表示开始搜索的路径。默认文件夹是当前工作的
目录 (.)。
/M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。
/S 指导 forfiles 递归到子目录。像 "DIR /S"。
/C command 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展名。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
要在命令行包括特殊字符,字符请以 0xHH
形式使用十六进制代码(例如,0x09 为 tab)。
内部 CMD.exe 命令前面应以 "cmd /c" 开始。
/D date 选择文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或选择文件,其上一次修改日期大于或等于 (+)
当前日期加 "dd" 天,或者小于或等于 (-) 当前
日期减 "dd" 天。有效的 "dd" 天数可以是
0 - 32768 范围内的任何数字。如果没有指定,
"+" 被当作默认符号。
/? 显示此帮助消息。
最后设计划任务就行了,mysqldump的逻辑备份我是一周一次,binlog日志是每天刷新一次同时删除7天前的。
- windows mysql 自动备份的几种方法(定时备份)
- Windows创建Mysql定时备份
- Windows下为MySQL做定时备份
- windows平台mysql定时备份脚本(bat批处理)
- windows系统设置mysql自动定时备份
- windows下mysql自动定时备份bat
- windows下mysql自动定时备份bat
- windows下利用bat脚本备份mysql和定期清理备份文件
- windows下mysql定时生成备份
- MySQL数据的binlog处理方法 日志定时清理
- Windows 下 MySQL 简单定时自动备份、删除过期备份
- windows下mysql定时备份
- FAQ系列 | 如何在windows下用bat脚本定时备份mysql
- windows定时备份MYSQL
- windows下mysql每天定时备份数据库
- windows下mysql每天定时备份数据库几种方法
- Linux下MYSQL定时备份、定时清理几天前文件
- Windows下为MySQL做定时备份
- Linux/Windows 下MySQL定时按日期备份数据
- Windows 下 MySQL 简单定时自动备份、删除过期备份