Windows下 mysql定时备份

article/2025/10/6 2:53:07

**

使用mysqldump进行数据库备份

**
mysql数据库自带备份命令mysqldump,可对数据库进行备份操作
最简单的备份是将数据库备份至本地,生成 **.sql文件

编写备份脚本文件
(创建一个txt文件,写入批处理脚本,再将文件的后缀改为.bat变为批处理脚本文件)

rem autherBeginnerXiao
rem date:20200814
rem ******Backup MySQL Start******
@echo off
::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"::创建存储的文件夹
if not exist "D:\mysql_backup" md "D:\mysql_backup"::执行备份操作
"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql::删除两周前的备份数据
forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"@echo on
rem ******Backup MySQL End******

其中一些关键语句解释:

1.为备份文件存储位置设立一个文件夹,即如果不存在该文件就md创建该文件夹

::创建存储的文件夹
if not exist "D:\mysql_backup" md "D:\mysql_backup"

2.备份操作:
“D:\mysql-8.0.20-winx64\bin\mysqldump” :执行本地mysql文件安装路径的bin文件夹中的mysqldump
–single-transaction=TRUE: 备份时没有锁表
–user=root :mysql帐号
–password=root :mysql密码
–host=127.0.0.1 :mysql的ip地址
–port=3306 :mysql的端口号
–default-character-set=utf8 :备份默认编码
events “demo” :进行备份的数据库名称
->D:\mysql_backup\backup_demo_%Ymd%.sql :备份文件存储的路径
set “Ymd=%date:0,4%%date:5,2%%date:~8,2%” :设置备份的日期参数,以供给sql命名使用
关于时间参数的参考:
%date:~0,10% //提取年月日信息
%date:~-3% //提取星期几信息
%time:~0,5% //提取时间中的时和分
%time:~0,-3% //提取时和分和秒信息
*注意由于脚本文件以空格和逗号进行分隔执行,所以有关路径的如果路径中有空格,必须以双引号引起来
*通常建议有关路径的都用双引号引起来

::执行备份操作
"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

3.对备份文件进行过期删除处理
Forfiles:从文件夹或树中选择要进行批处理的文件。
语法:

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]

参数:
/p Path:指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
/m SearchMask:按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
/m backup_*.sql 指的是搜索以backup_为前缀,.sql为后缀的文件
/s:指示forfiles 在子目录中搜索。
/c Command:在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
/d [{+ | - }] [{MM / DD / YYYY | DD }]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
-d -14:即前14天

::删除两周前的备份数据
forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"

跨主机备份

(一)将需要的数据库备份至其他主机的指定数据库内
语法:
mysqldump --host=源数据库ip -u源数据库账户 -p源数据库密码 --opt 要备份的数据库 | mysql --host=目标机器ip -u目标数据库用户名 -p目标数据库密码 -C 目标数据库

mysqldump --host=127.0.0.1 -uroot -proot --opt demo | mysql --host=11.11.11.11  -uroot -proot -C demo

(二)远程备份数据库的sql文件
语法:

"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=远程数据库ip --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

注:
进行远程备份的前提是,远程数据库需要创建一个对本机IP能够访问的用户,创建远程访问用户操作,见blog:MySQL数据库用户创建、修改、授权及远程访问

还原数据库
两种还原方法:

mysqldump -uroot -proot -h127.0.0.1 demo < "D:\mysql_backup\backup_demo_20200814.sql"
mysql -uroot -proot demo< "D:\mysql_backup\backup_demo_20200814.sql"

Windows定时执行脚本任务

我们可以通过设定Windows定时任务来实现定时运行备份脚本,以达到定时备份的目的
1.可以在程序搜索列表中搜索“任务计划程序”
在这里插入图片描述

2.打开了任务计划程序后点击右侧的“创建基本任务”,并对计划任务的名称和描述进行编写:
在这里插入图片描述

3.选择定时执行的周期:
在这里插入图片描述

4.设置你所需要执行的时间,备份一般可以放在深夜进行
在这里插入图片描述

5.让该定时任务启动脚本程序
在这里插入图片描述

6.选择编写完成的备份脚本文件:
在这里插入图片描述

7.此时会给我们一个任务概述,确认信息无误后点击完成
在这里插入图片描述

8.创建好后,可在任务列表中看到我们所创建的任务,可以通过右键该条任务进行删除等处理
在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「BeginnerXiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42215697/article/details/108003841


http://chatgpt.dhexx.cn/article/0ZqZYH2e.shtml

相关文章

MySQL定时备份数据库(全库备份)

MySQL定时备份数据库&#xff08;全库备份&#xff09; 一、MySQL数据备份 1.1、 mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: …

mysql定时自动备份数据库

我们都知道数据是无价&#xff0c;如果不对数据进行备份&#xff0c;相当是让数据在裸跑&#xff0c;一旦服务器出问题&#xff0c;只有哭的份了。下面将介绍mysql数据库的自动备份&#xff0c;大家可根据情况自行选择将备份数据存放在哪里。 第一种&#xff0c;数据跑在服务器…

windows系统mysql定时备份

一.介绍 本文章主要介绍了windows系统下如何创建mysql定时备份任务&#xff0c;目的&#xff1a;一是数据无价&#xff0c;一旦数据丢失&#xff0c;功亏一篑&#xff1b;而是将重复性的工作交给机器来做&#xff0c;省去人工处理成本。 二.创建bat任务脚本 1.新建txt文档 2.打…

MySQL 定时备份数据库(非常全)

一. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: #MySQLdump常用 mysqldump -u root -p --databases 数据库1 数据库2 > xxx.s…

实战-MySQL定时增量备份(2)

阅读本文大约需要 9 分钟 实战-MySQL定时全量备份&#xff08;1&#xff09; 实战-MySQL定时增量备份&#xff08;2&#xff09; 实战-将MySQL备份上传到私有云(3) 概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后&#xff0c;我们的数据是相当重要的&…

MySQL 数据库定时备份

1.编写BASH维护固定数量备份文件 在Linux中&#xff0c;使用vi或者vim编写脚本内容并命名为&#xff1a;mysql_dumps.sh #!/bin/bash #保存备份个数&#xff0c;备份31天数据 number31 #备份保存路径 backup_dir/root/mysqlbackup #日期 dddate %Y-%m-%d-%H-%M-%S #备份工具 …

Linux定时备份MySQL

Linux定时备份MySQL 1.备份脚本2.赋予脚本执行权限3.添加定时任务4. crontab定时任务表达式5. 常见问题6. linux软连接7.参考链接: 阅读本文您将了解到: 定时备份数据库linux定时任务crontab定时任务表达式shell脚本变量命名规则linux 软连接的使用vim使用技巧 1.备份脚本 用vi…

MySQL 如何定时备份数据库

目录 1.mysqldump命令备份数据 2.mysqldump常用操作示例 2.1. 备份全部数据库的数据和结构 2.2.备份全部数据库的结构&#xff08;加 -d 参数&#xff09; 2.3. 备份全部数据库的数据(加 -t 参数) 2.4.备份单个数据库的数据和结构(,数据库名mydb) 2.5. 备份单个数据库的…

MySQL 定时备份数据库(非常全),值得收藏!

在操作数据过程中&#xff0c;可能会导致数据错误&#xff0c;甚至数据库奔溃&#xff0c;而有效的定时备份能很好地保护数据库。本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库。 一. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工…

mysql数据库定时备份

1 环境检查 1. 执行本手册前&#xff0c;请正确安装Mysql数据库&#xff0c;并知晓数据库用户名和密码&#xff1b; 2. 执行本手册前&#xff0c;请先确定Mysql数据库数据要储存的天数&#xff1b;默认30 2 批处理文件配置 当前步骤主要实现以下目标配置&#xff1a; 配置…

mysql实现定时备份

1、编写脚本xxx.bat echo off echo 设置MySql数据库的连接信息 set host127.0.0.1 set port3306 set userroot set pass123456 echo 设置要备份MySql数据库名称 set dbnameprojectmonitoring echo 获取当天的日期格式&#xff0c;例如&#xff1a;2022-12-13-14-30-40set back…

MySQL数据库定期自动备份(定时任务)

一、脚本备份&#xff1b; 1、新建一个backupDB.txt文件&#xff0c;然后通过重命名修改文件后缀为.bat&#xff0c;将 backupDB.bat 放置在 D:/mysql5.7目录下&#xff0c;文件内容如下&#xff1a; echo off set h%time:~0,2% set h%h: 0% set hhmiss%date:~0,4%%date:~5,2…

【Axure】Axure RP 9 下载、短期试用破解安装和汉化步骤 —— 可供安装参考,短期试用,目前授权码已逐渐失效

目录 一、Axure RP 9 下载 二、Axure RP 9 安装 三、Axure RP 9 破解 四、Axure RP 9 汉化 一、Axure RP 9 下载 &#xff08;1&#xff09;最新版本 Axure RP 9 下载地址&#xff08;Mac & window&#xff09;&#xff1a;点击前往下载 &#xff08;2&#xff09;汉化…

Axure PR9的安装与激活

一、Axure安装包与汉化包的下载 概述&#xff1a;2021/04/30 Axure官网发布了Axure RP 10的正式版&#xff0c;但因为目前市面上还普遍再用Axure RP 8和Axure RP 9(Axure RP 10不兼容以前版本)&#xff0c;顾小编还是装了Axure RP 9 下载&#xff1a;登录Axure中文学习网&…

原型设计工具:Axure RP9 中文激活版 win/mac

Axure RP 9 是一款强大的原型设计工具&#xff0c;它能够帮助用户快速创建高质量的交互原型、线框图、流程图和文档等。 ​Axure RP 9 具有以下特点&#xff1a; 强大的交互能力&#xff1a;Axure RP 9 提供了丰富的交互组件和事件&#xff0c;可以轻松实现交互功能&#xff0…

数据库相关中间件介绍

数据库相关中间件介绍 详见&#xff1a;http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt412 这里主要介绍互联网行业内有关数据库的相关中间件。数据库相关平台主要解决以下三个方面的问题&#xff1a; 为海量前台数据提供高性能、大容量、高可用性的访问 为数…

Mysql 中间件 oneProxy总结

建议使用之前把官方的文档全部通读一遍 这里提供一个我的网盘地址oneproxy 百度网盘 0. 先对 oneproxy 有个大概的了解&#xff0c;知道他所处的位置 1. MySQL服务器 创建test用户,密码test存在test数据库确认oneproxy能登录 1.1 注意事项 所有MySQL节点有相同的用户名和口…

mysql几种中间件对比

网上找到的图 重点比较几个 1.atlas 基于mysql-proxy&#xff0c;360团队 优点&#xff1a; 配置简单,支持读写分离 缺点&#xff1a; 年份久&#xff0c;功能有限 地址&#xff1a;https://github.com/Qihoo360/Atlas/wiki/Atlas%E5%8A%9F%E8%83%BD%E7%89%B9%E7%82%B9FAQ 2.my…

Mysql中间件研究

转自&#xff1a;https://blog.csdn.net/kingzone_2008/article/details/51513910 mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡&#xff0c;读写分离&#xff0c;failover等&#xff0c;但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源…

mysql中间件研究( Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess,OneProxy )

mysql中间件研究&#xff08; Atlas&#xff0c;cobar&#xff0c;TDDL&#xff0c;mycat&#xff0c;heisenberg,Oceanus,vitess,OneProxy &#xff09; mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡&#xff0c;读写分离&#xff0c;failover等&#xff0c;但其…