首页 > 数据库 >windows系统mysql定时备份

windows系统mysql定时备份

时间:2023-04-17 15:03:20浏览次数:40  
标签:set windows 备份 mysql echo 2% Time 数据库


如下:

一、创建bat任务脚本
1.新建txt文档
2.打开txt文档,并粘贴入以下内容
3.按照自己的需求对内容进行修改,并删除掉//后内容以及中文空格,否则会运行失败
4.保存,并将文件后缀修改为.bat格式
5.双击测试程序是否能正常运行,如果正常,会弹出cmd运行窗口,运行完后会自动停止,此时会在路径下产生备份文件。
脚本内容如下
@echo off

@echo 开始备份

set hour=%Time:~0,2%

if "%Time:~0,1%"==" " set hour=0%Time:~1,1%  

set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%

set host=localhost

set port=3306

set user=root

set pass=1234

set dbname=gsjkbms_config

set back_path=C:\Software\MySql\bak

set backupfile=%back_path%\%dbname%-%now%.sql

"C:\Software\MySql\mysql-8.0.25-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%

@echo 备份成功

翻译版

@echo off

@echo 开始备份数据库       //命令行窗口中显示此条信息

set hour=%Time:~0,2%     //将hour设置为此刻小时位的时间,从0位置开始取2位

if "%Time:~0,1%"==" " set hour=0%Time:~1,1%   //(小时位如果是个位数例如9点,则默认不是09,而是 9,前一位位空)判断小时位第一位是否为空,如果为空则添加上0,如果不为空则不执行,hour为前一条语句设置的。

set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%   //获取具体时间

set host=localhost     //设置数据库的ip地址

set port=3306    //设置数据库端口号

set user=root    //设置用户名

set pass=xxx     //设置用户密码

set dbname=test  //设置数据库名称

set back_path=D:\Test  //设置备份的数据库的存储文件夹路径,注意路径不能有中文,且路径中文件夹需提前创建好

set backupfile=%back_path%\%dbname%-%now%.sql    //设置每次备份的数据库名称(此处为“数据库名-时间”)

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile% //备份数据库的语句。(前方引号中的路径,为数据库安装目录下,mysqldump.exe程序的路径)

@echo 数据库备份成功  //命令行窗口中显示此条信息

注意,如果要查看过程中是否有报错信息可以在末尾加上    pause

二、创建定时任务
1.打开控制面板 > 管理工具 > 任务计划程序,创建任务:

windows系统mysql定时备份_数据库

2.填写触发器,设定执行时间:

windows系统mysql定时备份_MySQL_02

 

 

 3、添加执行脚本文件
将刚才创建好的bat文件选中

windows系统mysql定时备份_MySQL_03

 

4、若要测试定时任务是否成功,可以将触发器的时间提前。
至此,大功告成,系统将会在指定时间会定时备份mysql数据库。

 

 end.



标签:set,windows,备份,mysql,echo,2%,Time,数据库
From: https://blog.51cto.com/u_15724279/6195195

相关文章

  • mysql异常处理
    ################一、主从不一致误登录从库写入数据:第一步在从库上停掉SQL线程:stopslavesql_thread;磁盘空间不足:删除归档日志,保留30天,setglobalexpire_logs_days=15; PURGEMASTERLOGSBEFORE'2020-03-1500:00:00';purgebinarylogsbefore‘2020-08-0300:00:00’;清理......
  • 发现Mysql的主从数据库没有同步,差点凉凉了
    摘要:今天发现Mysql的主从数据库没有同步,瞬间整个人头皮发麻。本文分享自华为云社区《糟了,生产环境数据竟然不一致,人麻了!》,作者:冰河。今天发现Mysql的主从数据库没有同步先上Master库:mysql>showprocesslist;查看下进程是否Sleep太多。发现很正常。showmasterstatu......
  • windows下判断端口是否被占用
    命令:netstat-aon|findstr“80”本地地址是指本地打开的端口,外部地址是本地访问外部的端口(外部打开的端口),最后一列是使用该端口的进程PID ......
  • C# 使用Topshelf快速创建Windows服务程序
    前言:Topshelf用于将控制台应用程序封装成易于编写、调试和部署 的Windows服务。它允许您使用简单的命令行语法创建和安装Windows服务,而无需编写繁琐的安装代码。使用Topshelf,您可以创建一个具有自定义启动行为、暂停和继续功能以及自定义命令行选项的Windows服务。它还......
  • 【MySQL】查看库与表的占用空间
    #查看各个库占用空间SELECTTABLE_SCHEMA,concat(TRUNCATE(sum(data_length)/1024/1024,2),'MB')ASdata_size,concat(TRUNCATE(sum(index_length)/1024/1024,2),'MB')ASindex_sizeFROMinformation_schema.TAB......
  • mysql入坑之路(12)windows 部署MySQL,tar方式手动添加服务进行程序管理
    1.“CTRL+R”打开运行窗口,输入regedit点击确定打开注册表编辑器2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services3.新建项MYSQL服务4.添加项内参数和值名称类型数据DisplayName编辑字符串值mysql-5.6ErrorControl编辑DWORD(32位)值1Imag......
  • mysql修改数据目录(datadir)
    1.修改配置文件datadir=新目录 2.数据迁移systemctlstopmysqldcp-a/var/lib/mysql/*/datachown-Rmysql.mysql/data3.重启服务systemctlrestartmysqld.service ......
  • 关于mysql报 loopWaitCount 0, wait millis 60001 错误的解决办法
    最近遇到个比较奇怪的问题,系统上线一段时间之后,总是隔一段时间就出现Tomcat连接数据库报错,导致系统无法运行。通过日志排查发现,里面报了一个错误,内容如下:12023-04-1700:01:05[ERROR][AcquireJobsRunnableImpl.java:77(run)]exceptionduringjobacquisition:Could......
  • MYSQL联表删除
    数据表r_userid:用户IDname:用户名称r_user_roleid:用户角色IDuser_id:用户IDrole_id:角色ID单表删除语法:DELETEFROMtable_name[WHEREClause]例1:删除ID为1的用户DELETEFROMr_userWHEREid=1联表删除语法:DELETEt1,t2,t3FROMt1JOIN......
  • MySQL8.0 优化器介绍(二)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:奥特曼爱小怪兽文章来源:GreatSQL社区投稿上一篇MySQL8.0优化器介绍(一)介绍了成本优化模型的三要素:表关联顺序,与每张表返回的行数(过滤效率),查询......