宇筱博客

  • 解决办法
  • 学无止境
  • 记录时光
  • 百宝箱
宇筱博客
点滴记忆,汇聚成海。
  1. 首页
  2. 解决办法
  3. 正文

在Windows环境下使用MySQL:自动定时备份(已废弃)

2020年1月9日 493点热度 0人点赞 0条评论

一、编写备份脚本

rem auther:www.yumi-info.com
rem date:20171222
rem ******MySQL backup start********
@echo off
forfiles /p "E:\mysql\MySQL BackUp" /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%"
"E:\mysql\MySQL Server 5.6\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********

这是一段很常见的windows批处理脚本文件,我来简单解释一下其中的关键部分:

forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

forfiles 用来对备份目录下的过期备份进行删除。“E:\mysql\MySQL BackUp”是备份文件所在的路径,可以自行修改。“backup_*.sql”指的是该路径下所有以“backup_”开头,以“.sql”作为后缀的数据库备份文件。而后面的数字“30”表示30天过期。

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

使用set命令来定义一个名为“Ymd”的变量,这个变量的值就是后面的一大串规则,简单说就是当前的日期和时间

"E:\mysql\MySQL Server 5.6\bin\mysqldump"

这一行命令就是调用MySQL自带的备份工具了,注意这个路径必须写成你自己的“mysqldump.exe”所在的路径,一般都是在MySQL安装路径的/bin目录下。而这一行命令后面紧跟着一大串的参数,我们挑几个重要的来解释:

--user=root

连接MySQL数据库服务的账户,通常该账户必须具备数据库备份操作的权限。为了简便我们使用了root,但是在实际生产环境中并不建议使用root账户,避免账户和密码泄露,从而造成不必要的麻烦。

--password=123456

这是连接MySQL数据库服务的密码

--host=127.0.0.1

这是数据库服务所在的服务器ip地址

--port=3306

这是数据库服务所在的服务器的端口号

--events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"

events参数即实现了将数据库备份到一个指定的文件这一操作。"yumi_website"是需要做备份的数据库,而大于号“>”右边的就是我们的备份文件所保存的服务器目录和文件名了。

原文链接:https://blog.csdn.net/freezingxu/article/details/78884962

标签: 暂无
最后更新:2020年1月9日

小渔民

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2025 宇筱博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备15017825号-2